sql server 时间小汇
2015-12-17 17:46
309 查看
SQL server DATE函数
(1)getdate 返回当前系统的日期和时间,精确到3毫秒
要求:获得系统的当前时间
语句:SELECT getdate()
执行结果:
注:getutcdate():用于返回服务器当前日期和时间对应的格林威治时间,精确到3毫秒。他对于跨时区的公司非常有用。
(2)dateadd 在制定日期基础上加上或减去一段时间,返回新的datetime
要求:在2008-10-12日上加上2天
语句:SELECT dateadd(day,2,'2008-10-12')
执行结果:
如果要得到从现在开始100小时后的时间,语法如下:
SELECT dateadd(hh,100,getdate)
注释:如果减去一段时间,用负值即可。
(3)datediff 返回两个日期之间的时间
要求:返回2008-1-1日和2009-3-5日之间的时间段
语句:SELECT datediff (day,'2008-1-1','2009-3-5')
要求:mike夫妇2001-5-4号结婚,问他们结婚了多少年?他们结婚了多少天?
语句:select
datediff(yy,'2001-5-4',getdate())as 结婚年,
datediff(dd,'2001-5-4',getdate())as 结婚天
注:返回值是后面的日期减去前面的日期,datediff()函数并不对整个日期数据计算,而是从中抽取日期不符进行计算,因此,前面要注明是计算年、月、日的哪个部分。
(4)datepart 返回日期或时间的指定单独部分,整数值
要求:返回时间2009-5-6日的年月日中的日
语句:SELECT datepart (day,'2009-5-6')
执行结果:
注:如果要返回年或月,将day 改成year 或month
(5)datename 返回日期的指定部分的字符串
要求:返回2009-5-6的星期
语句:SELECT datename (weekday,'2009-5-6')
执行结果:
可指定返回的日期部分参数和缩写如下表。
比如返回当前服务器时间的年份
语句:
select datename(yy,getdate())
执行结果为:2011
注:在acess 和asp中获得系统当前时间用date()或now(),其他datediff datepart dateadd等也同样可用,用法类似。
注:datename和datepart的功能大致相同,只是一个返回的是nvarchar ,一个返回的是int.
(1)getdate 返回当前系统的日期和时间,精确到3毫秒
要求:获得系统的当前时间
语句:SELECT getdate()
执行结果:
注:getutcdate():用于返回服务器当前日期和时间对应的格林威治时间,精确到3毫秒。他对于跨时区的公司非常有用。
(2)dateadd 在制定日期基础上加上或减去一段时间,返回新的datetime
要求:在2008-10-12日上加上2天
语句:SELECT dateadd(day,2,'2008-10-12')
执行结果:
如果要得到从现在开始100小时后的时间,语法如下:
SELECT dateadd(hh,100,getdate)
注释:如果减去一段时间,用负值即可。
(3)datediff 返回两个日期之间的时间
要求:返回2008-1-1日和2009-3-5日之间的时间段
语句:SELECT datediff (day,'2008-1-1','2009-3-5')
要求:mike夫妇2001-5-4号结婚,问他们结婚了多少年?他们结婚了多少天?
语句:select
datediff(yy,'2001-5-4',getdate())as 结婚年,
datediff(dd,'2001-5-4',getdate())as 结婚天
注:返回值是后面的日期减去前面的日期,datediff()函数并不对整个日期数据计算,而是从中抽取日期不符进行计算,因此,前面要注明是计算年、月、日的哪个部分。
(4)datepart 返回日期或时间的指定单独部分,整数值
要求:返回时间2009-5-6日的年月日中的日
语句:SELECT datepart (day,'2009-5-6')
执行结果:
注:如果要返回年或月,将day 改成year 或month
(5)datename 返回日期的指定部分的字符串
要求:返回2009-5-6的星期
语句:SELECT datename (weekday,'2009-5-6')
执行结果:
可指定返回的日期部分参数和缩写如下表。
参数 | Sql server 缩写 | Acess和 asp缩写 | 说明 |
Year | Yy | yyyy | 年,1753-9999 |
Quarter | Qq | q | 季度,1-4 |
Month | Mm | m | 月,1-12 |
Day of year | Dy | y | 一年中的日数,1-366 |
Day | Dd | d | 一月的日数,1-31 |
Weekday | Dw | w | 一周的日数,1-7 |
Week | Wk | ww | 周,一年中的第几周,1-52 |
Hour | Hh | h | 时,0-24 |
Minute | Mi | n | 分,0-59 |
Second | Ss | s | 秒,0-59 |
Millisecond | Ms | - | 毫秒,0-999 |
语句:
select datename(yy,getdate())
执行结果为:2011
注:在acess 和asp中获得系统当前时间用date()或now(),其他datediff datepart dateadd等也同样可用,用法类似。
注:datename和datepart的功能大致相同,只是一个返回的是nvarchar ,一个返回的是int.
相关文章推荐
- 四个数混合运算,数据库存题,程序集构建三层建构
- oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)
- kill oracle jobs
- MySQL安装包
- Mysql安装步骤
- redis 学习手册之java和php连接redis操作
- 自定义Hive Sql Job分析工具
- mysql 安装与配置
- redis 学习手册之redis服务操作命令
- hibernate的native sql查询
- sql server 常用脚本(日常查询所需)
- redis 学习手册之事务 transaction 操作
- Hiredis-redis cplusplus--redis3M
- redis 学习手册之发布和订阅pubsub操作
- 网页上传文件,到服务器,再讲数据导入数据库
- 删除sqlserver管理器登录信息缓存
- redis 学习手册之键key操作
- Redis持久化
- CentOS 6.5安装Redis-2.8.23
- Oracle的数据表中行转列与列转行的操作实例讲解