sql语句中日期相减的操作

1. 直接用日期时间做减法

  • GETDATE() 和 NOW() 查出来的时间一样,都带时分秒
select GETDATE(),NOW() FROM t_表名;
  • curdate() 只显示 年月日
select curdate(),NOW() FROM TB_表名;
  • 如果直接做减法,只能得到两个时间相差多少天
select (NOW()-日期时间字段) FROM T_表名;
  • 若不要 时分秒,可以考虑用 curdate()
select (curdate()-日期时间字段) FROM T_表名;

2. 使用 datediff 函数

  • datediff 函数还有其他的玩法,在这就不多加赘述了。
  1. 两日期 间隔年
select datediff(year, 开始日期,结束日期) FROM T_表名;;
  1. 俩日期 间隔季
select datediff(quarter, 开始日期,结束日期) FROM T_表名;
  1. 俩日期 间隔月
select datediff(month, 开始日期,结束日期) from 表名;
  1. 俩日期 间隔天
select datediff(day, 开始日期,结束日期) FROM T_表名; 
  1. 俩日期 间隔周
select datediff(week, 开始日期,结束日期) FROM T_表名;
  1. 俩日期 间隔小时
select datediff(hour, 开始日期,结束日期) FROM T_表名;
  1. 俩日期 间隔分
select datediff(minute, 开始日期,结束日期) FROM T_表名;
  1. 俩日期 间隔秒
select datediff(second, 开始日期,结束日期) FROM T_表名; 
  1. 获取近 7 天 的年月日,包括今天(达梦数据库)
select (CURDATE() - 6) as dateList
union
select (CURDATE() - 5) as dateList
union
select (CURDATE() - 4) as dateList
union
select (CURDATE() - 3) as dateList
union
select (CURDATE() - 2) as dateList
union
select (CURDATE() - 1) as dateList
union
select (CURDATE() - 0) as dateList
  1. 查询 当前 年月日 时分秒
SELECT NOW(), CURDATE(), CURTIME()

CONVERT 可以把字符串转换成int

ORDER BY m.ENTERPRISE_CODEID DESC
                , CONVERT(INT,d.GAS_MONTH)
  1. 查询当前日期 是 第几季度
select QUARTER( curdate() ); 
  1. 当前日期加一天、减一天
select DATE_SUB(CURDATE(),INTERVAL 1 DAY);
select DATE_ADD(CURDATE(),INTERVAL 1 DAY);
  1. 日期时间 各种转换
SELECT
	curdate() AS 当前年月日,
	NOW() AS 当前年月日_时分秒,
	date_format( NOW(), '%a' ) AS 星期几,
	date_format( NOW(), '%b' ) AS 几月,
	date_format( NOW(), '%c' ) AS,
	date_format( NOW(), '%D' ) AS 当月的第几天带后缀,
	date_format( NOW(), '%e' ) AS 当月的第几天,
	date_format( NOW(), '%f' ) AS 微妙,
	date_format( NOW(), '%H' ) AS 小时,
	date_format( NOW(), '%i' ) AS 分钟,
	date_format( NOW(), '%j' ) AS 一年的第几天,
	date_format( NOW(), '%M' ) AS 月份全称,
	date_format( NOW(), '%p' ) AS 上午或下午,
	date_format( NOW(), '%S' ) AS,
	date_format( NOW(), '%U' ) AS 一年的第几周,
	date_format( NOW(), '%W' ) AS 星期全称,
	date_format( NOW(), '%Y' ) AS,
	date_format( NOW(), '%Y-%m-%d' ) AS 年月日,
	date_format( NOW(), '%Y-%m-%d %H:%i:%s' ) AS 年月日_时分秒,
	QUARTER ( NOW() ) AS 季度

好的代码像粥一样,都是用时间熬出来的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值