1.查询时间类型秒位为0时精度丢失
背景:今天页面上遇到个bug,原因是因为时间类型插入的时候没有秒位,导致数据类型不一致报错
未处理前的sql语句
select L.scanTime from xxx
输出:
处理后:
DATE_FORMAT(L.scanTime, '%Y-%m-%d %H:%i:%s') as formatScanTime
输出:
DATE_FORMAT(timedate,format)函数用于Mysql中格式化日期,如DATETIME
、TIMESTAMP
注意第一个参数是时间类型,第二个是时间格式
在这个例子中,%Y
代表四位数的年份,%m
代表月份(01到12),%d
代表月份中的天数(00到31),%H
代表小时(00到23),%i
代表分钟(00到59),%s
代表秒(00到59
常用的日期时间格式化代码
%Y
- 四位数年份%y
- 两位数年份%m
- 月份(01-12)%d
- 月中的天数(00-31)%H
- 小时(00-23)%i
- 分钟(00-59)%s
- 秒(00-59)%W
- 星期几的名称(例如,Sunday)%M
- 月份的名称(例如,January)%b
- 月份名称的缩写(例如,Jan)%D
- 带有英文后缀的月中的天数(例如,0th, 1st, 2nd, 3rd)
你可以根据需要组合这些格式化代码,以生成满足你需求的日期时间格式。
注意
- 如果
date
参数是NULL
,则DATE_FORMAT()
函数将返回NULL
。 - 格式化字符串(
format
)中的字符如果不被识别为格式说明符,则会被原样输出。
持续更新...