SQL Server系统函数:日期函数

原文:SQL Server系统函数:日期函数

1、返回当前日期和时间


  1. select GETDATE() ‘当前日期-精确到33毫秒‘
  2. select GETUTCDATE() ‘UTC日期和时间-精确到33毫秒‘
  3. select SYSDATETIME() ‘当前日期和时间-精确到100纳秒(高精度)‘
  4. select SYSUTCDATETIME() ‘UTC-精确到100纳秒(高精度)‘
  5. select SYSDATETIMEOFFSET()‘当前日期与UTC之间的差值(时分)‘

2、转换偏移,从一个转为另一个,从UTC-05:00转为UTC+03:00:

‘2007-08-12 10:20:35.9788989‘是UTC减去‘05:00‘之后算出来的,

所以UTC是‘2007-08-12 10:20:35.9788989‘加‘05:00‘,

也就是‘2007-08-12 15:20:35.9788989‘,

然后‘2007-08-12 15:20:35.9788989‘加上‘03:00‘,

也就是‘2007-08-12 18:20:35.9788989‘

select SWITCHOFFSET(‘2007-08-12 10:20:35.9788989 -05:00‘,‘+03:00‘)

将普通的日期时间型转为日期时间偏移,只是在日期时间后增加了offset值,返回:2007-08-12 10:20:35.0000000 -05:00

select TODATETIMEOFFSET(‘2007-08-12 10:20:35‘,‘-05:00‘)

3、显示日期一部分的字符串


  1. select SYSDATETIME(),
  2. DATENAME(year,SYSDATETIME()),
  3. DATENAME(quarter,SYSDATETIME()),
  4. DATENAME(month,SYSDATETIME()),
  5. DATENAME(dayofyear,SYSDATETIME()),
  6. DATENAME(day,SYSDATETIME()),
  7. DATENAME(week,SYSDATETIME()),
  8. DATENAME(weekday,SYSDATETIME()),
  9. DATENAME(hour,SYSDATETIME()),
  10. DATENAME(minute,SYSDATETIME()),
  11. DATENAME(second,SYSDATETIME()),
  12. DATENAME(millisecond,SYSDATETIME()),
  13. DATENAME(microsecond,SYSDATETIME()),
  14. DATENAME(nanosecond,SYSDATETIME()),
  15. DATENAME(TZoffset,SYSDATETIME()),
  16. DATENAME(ISO_WEEK,SYSDATETIME())

4、显示日期一部分的整数


  1. select YEAR(GETDATE()),
  2. MONTH(getdate()),
  3. DAY(getdate())
  4. select SYSDATETIME(),
  5. DATEPART(year,SYSDATETIME()),
  6. DATEPART(quarter,SYSDATETIME()),
  7. DATEPART(month,SYSDATETIME()),
  8. DATEPART(dayofyear,SYSDATETIME()),
  9. DATEPART(day,SYSDATETIME()),
  10. DATEPART(week,SYSDATETIME()),
  11. DATEPART(weekday,SYSDATETIME()),
  12. DATEPART(hour,SYSDATETIME()),
  13. DATEPART(minute,SYSDATETIME()),
  14. DATEPART(second,SYSDATETIME()),
  15. DATEPART(millisecond,SYSDATETIME()),
  16. DATEPART(microsecond,SYSDATETIME()),
  17. DATEPART(nanosecond,SYSDATETIME()),
  18. DATEPART(TZoffset,SYSDATETIME()),
  19. DATEPART(ISO_WEEK,SYSDATETIME())

5、增加、减少日期值


  1. SELECT DATEADD(quarter, 1, getdate()),
  2. DATEADD(quarter,-1, getdate())

6、计算两个日期的差值


  1. select DATEDIFF(DAY,‘2011-08-09‘,GETDATE()),
  2. DATEDIFF(MONTH,‘2011-08-09‘,GETDATE())


不想长大啊

发布了416 篇原创文章 · 获赞 135 · 访问量 94万+

他的留言板
关注

原文地址:https://www.cnblogs.com/lonelyxmas/p/12019915.html

时间: 2024-12-19 15:55:16

SQL Server系统函数:日期函数的相关文章

SQL Server系统函数:类型转换函数

原文:SQL Server系统函数:类型转换函数 1.基本的转化 SELECT CAST(2008 as varchar(4)) + ' year!' SELECT CONVERT(varchar(4),2008) + ' year!' 2. 把日期转化为文本 SELECT CONVERT(VARCHAR(30),GETDATE(),120) --年-月-日 时:分:秒(24h) SELECT CONVERT(VARCHAR(10),GETDATE(),120) --年-月-日 时:分:秒(24

SQL Server系统函数:系统信息函数

原文:SQL Server系统函数:系统信息函数 1.会话id,服务器信息.用户信息 select @@SPID, --返回当前连接的会话ID:SPID @@servername, --SQL Server实例名称 @@sevicename, --SQL Server版本信息 APP_NAME(), --客户端连接的应用程序名称 HOST_ID(), --客户端连接的进程ID:936 HOST_NAME(), --客户端连接的主机名称:PC0627JVC system_user, --登录名:P

SQL Server系统函数:字符串函数

原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a'),ASCII('b'),ASCII('?') select CHAR(65),CHAR(66),CHAR(97),CHAR(98),CHAR(63) 2.unicode字符转化为整数,把整数转化为unicode字符 select UNICODE('A'),UNICODE('B'),UNICODE('

SQL Server系统函数:元数据函数

原文:SQL Server系统函数:元数据函数 1.列的长度.列名 --列的长度 select COL_LENGTH('dbo.wct', --表名 'wcid') --列名 --列名 select COL_NAME(object_id('dbo.wct'), --表ID 1) --列ID columnProperty函数返回有关列过程参数的信息: select ColumnProperty(object_id('dbo.wct'), --表ID 'wcid', --列名 'precision'

sql server 2012 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值

采用c#开发dll,并添加到sql server 中. 具体代码,可以用visual studio的向导生成模板. using System; using System.Collections; using System.Data; using Microsoft.SqlServer.Server; using System.Data.SqlTypes; using System.IO; using System.Text; [Serializable] [Microsoft.SqlServer

SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数

原文:SQL Server中的CLR编程--用.NET为SQL Server编写存储过程和函数 很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程.触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQL Server中启用CLR,所以一直没有尝试.最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得. 首先要说明的是要在SQL Server中启用CLR必须是在SQL Server2005及以上版本,其次在默认情况下是

SQL Server ->> FIRST_VALUE和LAST_VALUE函数

两个都是SQL SERVER 2012引入的函数.用于返回在以分组和排序后取得最后一行的某个字段的值.很简单两个函数.ORDER BY字句是必须的,PARITION BY则是可选. 似乎没什么好说的.结果在测试LAST_VALUE函数的时候有个问题. 下面是测试脚本 ;with t as (SELECT TOP 100 ROW_NUMBER() OVER(ORDER BY column_id) as num FROM sys.columns) select num, num/10 as grp_

SQL Server 验证身份证合法性函数(使用VBScript.RegExp)

原文:SQL Server 验证身份证合法性函数(使用VBScript.RegExp) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wzy0623/article/details/53895680 -- 建立正则表达式测试函数 CREATE FUNCTION dbo.RegExpTest ( @source VARCHAR(5000), --需要匹配的源字符串 @regexp VARCHAR(1000), --正则表达式 @ignorecas

(原)SQL Server 系统提供功能的三个疑惑

本文目录列表: 1.SQL Server系统提供的部分疑惑概述2.系统函数调用时DEFAULT代替可选参数使用不统一3.队列字段列message_enqueue_time记录的是UTC日期时间 4.@@Pack_Received系统函数提示信息有错误 5.总结语6.参考清单列表 正文: 1.SQL Server系统提供的部分疑惑概述   近来工作之余一直在系统地学习和研究SQL Server 数据库引擎这一整块,发现了一些原来没有太注意的东西,感觉SQL Server 光数据库引擎这块就有很多要