SQL 计算两个日期相差多少天数的函数
SQL是高级的非过程化编程语言,一般针对数据库进行操作。
定义:datediff(day/month/year,startdate,enddate)
日期函数:(要返回的天数/月数/年数,开始日期,结束日期)
具体形式:
select 1,2,datediff(day,1,2) 天数 from aa
还有一些方法:
使用DATEDIFF函数可以求两个日期之间相差的天数。
MySQL中的DATEDIFF函数仅需要两个参数 (即要计算相差天数的两个日期),第一个参数应是两个日期中较小的值,以避免出现负值(SQL Server中正好相反)。
在SQL Server中,可以指定该函数返回值所表示的类型(在这个例子中,返回以“日”为单位的差)。下面的解决方案采用了SQL Server的版本:
1 select datediff(day,allen_hd,ward_hd)
2 from (
3 select hiredate as ward_hd
4 from emp
5 where ename = 'WARD'
6 ) x,
7 (
8 select hiredate as allen_hd
9 from emp
10 where ename = 'ALLEN'
11 ) y
MySQL用户只需去掉该函数的第一个参数,交换一下传递ALLEN_HD和WARD_HD的顺序即可。