数据库时间

数据库语句处理时间

在很多项目里,都会有日期的字段,有些功能需要显示距离日期的字段,那么如果从数据库查出来,再通过JavaScript处理的话,会很麻烦,而且代码量以及运行的速度变慢,那么唯有从数据库的语句处理,然后再绑定在页面上,那样会方便很多,思路是这样,先在当前时间与对比时间进行分钟判断,也就是=>60秒,成立第一个条件,就直接显示,否则,判断第二个条件,时间判断,也就是<=1440,24小时之内,第三个就是判断天数,是否>7天,不然,直接显示年月日。代码如下:

SELECT CutGoodsTime,
(CASE WHEN CONVERT(varchar(100),DATEDIFF(MINUTE,  CONVERT(varchar(100), CutGoodsTime, 120),
CONVERT(varchar(100), GETDATE(), 120))) > =60 AND CONVERT(varchar(100),DATEDIFF(MINUTE,  CONVERT(varchar(100), 
CutGoodsTime, 120),CONVERT(varchar(100), GETDATE(), 120))) <=1440  
THEN  CONVERT(varchar(100),DATEDIFF(Hour,  CONVERT(varchar(100), CutGoodsTime, 120),
 CONVERT(varchar(100), GETDATE(), 120)))+'小时前' 
WHEN  CONVERT(varchar(100),DATEDIFF(Day,  CONVERT(varchar(100), CutGoodsTime, 120), 
CONVERT(varchar(100), GETDATE(), 120)))>7 
THEN cast(year(CutGoodsTime) as varchar(10)) + '年'+ cast(month(CutGoodsTime) as varchar(10)) + '月' + cast(day(CutGoodsTime) as varchar(10)) + '日'  
WHEN  CONVERT(varchar(100),DATEDIFF(Hour,  CONVERT(varchar(100), CutGoodsTime, 120), 
CONVERT(varchar(100), GETDATE(), 120)))>=24   
THEN  CONVERT(varchar(100),DATEDIFF(Day,  CONVERT(varchar(100), CutGoodsTime, 120), 
CONVERT(varchar(100), GETDATE(), 120)))+'天前'  
ELSE CONVERT(varchar(100),DATEDIFF(MINUTE,  CONVERT(varchar(100), CutGoodsTime, 120),
CONVERT(varchar(100), GETDATE(), 120)))+'分钟前' END) AS differ_minute
 FROM  B_AirliftFreightForwardingBookingList 
ORDER BY CutGoodsTime DESC

执行代码后,结果如下:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值