sql语句中日期型转成字符型,日期比较常出现错误总结和case when的使用

 工作了一天,把今天所做的一些东西,以及所接触到和所学到的新知识记录下来。

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


case when 类似于java中的if语句,具体看以上例子









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值