设置某字段为当前时间,修改日期类型为timestamp并允许空,如下:
为阳西等地区用户提供了全套网页设计制作服务,及阳西网站建设行业解决方案。主营业务为网站设计、网站制作、阳西网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
create
table
`test`
(`aaaa`
varchar(50)
not
null,`createday`
timestamp
null
default
current_timestamp
on
update
current_timestamp)
engine=innodb
default
charset=utf8;
如果是在navicat下操作的话,设置字段的类型为timestamp,默认值写上
current_timestamp.
做一个学校项目的时候 要根据上中晚查询 最后用的是
date_format(t1.record_time, '%H:%i:%s')
SELECT t2.class_name,t1.class_no,t1.course_id,t1.course_name,t1.id,t1.pic_url,t1.record_time,t1.sign_day,t1.status,t1.student_name,t1.student_no FROM t_e_sign t1 LEFT JOIN t_e_sys_org t2 ON t2.org_code = t1.class_no WHERE IF (:studentName is not null, t1.student_name LIKE CONCAT('%',:studentName,'%') , 1 = 1) and IF (:className is not null, t2.class_name LIKE CONCAT('%',:className,'%') , 1 = 1) and IF (:startTime is not null, date_format(t1.record_time, '%Y-%m-%d') =:startTime , 1 = 1) and IF (:endTime is not null, date_format(t1.record_time, '%Y-%m-%d') =:endTime , 1 = 1) and IF (:startdetailTime is not null, date_format(t1.record_time, '%H:%i:%s') =:startdetailTime , 1 = 1) and IF (:enddetailTime is not null, date_format(t1.record_time, '%H:%i:%s') =:enddetailTime , 1 = 1) ORDER BY ?#{#pageable}",
整个语句也写下吧
首先,mysql中是没有select current_time这么一说的(select是用来查询有结果返回的表达式),select要么调用函数如select current_time(),或者说从数据表查询数据 select current_time from table。
其次,要注意mysql中对应的时间日期格式类型,也就是UPDATE_DATE的字段类型,具体如下:
① 时间日期类型datetime/mysql时间戳timestamp(Ymdhis:20181212121212,对应显示2018-12-12 12:12:12),那么结果应该是:UPDATE T_SYUTYOU SET UPDATE_DATE = now(); ,因为now()保存的结果是一个datetime类型
② 时间型time(his:121212,对应显示12:12:12),那么结果应该是:UPDATE T_SYUTYOU SET UPDATE_DATE = curtime()/current_time(); ,因为curtime()和current_time()一样保存的结果是一个time类型
③ 真正时间戳int unsigned(格林位置时间到目前位置的秒数:1545891091),那么结果应该是:UPDATE T_SYUTYOU SET UPDATE_DATE = unix_timestamp();,因为unix_timestamp()保存的结果是一个真正意义的时间戳
想要了解更多的一些关于MySQL的操作,可以去看看黑马程序员的6天玩转MySQL
DATE_FORMA T(date, format) 根据格bai式串format 格式化日期或日期和时间值date,返回结果串du。
可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,zhi以便得到所希望的格dao式。根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01, . . ., 59)
%i 两位数字形式的分( 00,01, . . ., 59)
%H 两位数字形式的小时,24 小时(00,01, . . ., 23)
%h, %I 两位数字形式的小时,12 小时(01,02, . . ., 12)
%k 数字形式的小时,24 小时(0,1, . . ., 23)
%l 数字形式的小时,12 小时(1, 2, . . ., 12)
%T 24 小时的时间形式(h h : m m : s s)
%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM 或P M
%W 一周中每一天的名称( S u n d a y, Monday, . . ., Saturday)
%a 一周中每一天名称的缩写( Sun, Mon, . . ., Sat)
%d 两位数字表示月中的天数( 00, 01, . . ., 31)
%e 数字形式表示月中的天数( 1, 2, . . ., 31)
%D 英文后缀表示月中的天数( 1st, 2nd, 3rd, . . .)
%w 以数字形式表示周中的天数( 0 = S u n d a y, 1=Monday, . . ., 6=Saturday)
%j 以三位数字表示年中的天数( 001, 002, . . ., 366)
% U 周(0, 1, 52),其中Sunday 为周中的第一天
%u 周(0, 1, 52),其中Monday 为周中的第一天
%M 月名(J a n u a r y, February, . . ., December)
%b 缩写的月名( J a n u a r y, February, . . ., December)
%m 两位数字表示的月份( 01, 02, . . ., 12)
%c 数字表示的月份( 1, 2, . . ., 12)
%Y 四位数字表示的年份
%y 两位数字表示的年份
%% 直接值“%”
select date_format(日期字段,’%Y-%m-%d’) as ‘日期’ from test