工作了一天,把今天所做的一些东西,以及所接触到和所学到的新知识记录下来。
sql语句中对日期类型,将其转成指定的字符型格式。而转换成指定格式,经常用到一般为时间,和时间日期类
列举下我工作中常用的:
格式 | 形式 |
%Y | 数值(xxxx) 1994 |
%y | 数值(xx) 94 |
%m | 数值(00-12) 08 |
%c | 数值(0-12) 8 |
%d | 数值(00-31) 03 |
%e | 数值(0-31) 3 |
这里对于时分秒不过多介绍,对于时间感觉最主要的还是用于日期比较的时候,对于日期的格式一定要分清楚,如比较
SELECT DATE_FORMAT(creationDate,'%Y-%m-%d %h:%i:%s') FROM pipesegmentinfo where date_format(creationDate,'%Y-%m-%d %h:%i:%s') > '2016-8-31'
如上比较就会出错,因为月份为8并不是08,而我们格式化时间中,月份格式化为%m,(00-12)形式所以会出错,因此应将%m给为%c
case when 的使用
select (case when startDeviceType = '1' then (select ename from job_equtinfo where eid = startDeviceId)
when startDeviceType = '2' then (select name from job_stationbase where startDeviceId = id)
else '' end ) as ename from job_cable