SQL Server Date 函数

下面的表格列出了 SQL Server 中最重要的内建日期函数:

函数 描述
GETDATE() 返回当前的日期和时间
DATEPART() 返回日期/时间的单独部分
DATEADD() 在日期中添加或减去指定的时间间隔
DATEDIFF() 返回两个日期之间的时间
CONVERT() 用不同的格式显示日期/时间

(1)、GETDATE() 函数从 SQL Server 返回当前的日期和时间。

语法

GETDATE()

实例

下面是 SELECT 语句:

SELECT GETDATE() AS CurrentDateTime

结果如下所示:

CurrentDateTime
2008-11-11 12:45:34.243

(2)、

DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

语法

DATEPART(datepart,date)

date 参数是合法的日期表达式。datepart 参数可以是下列的值:

datepart 缩写
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns

实例

假设我们有如下的 "Orders" 表:

OrderId ProductName OrderDate
1 Jarlsberg Cheese 2008-11-11 13:23:44.657

下面是 SELECT 语句:

SELECT DATEPART(yyyy,OrderDate) AS OrderYear, DATEPART(mm,OrderDate) AS OrderMonth, DATEPART(dd,OrderDate) AS OrderDay, FROM Orders WHERE OrderId=1

结果如下所示:

OrderYear OrderMonth OrderDay
2008 11 11

(3)、

DATEADD() 函数在日期中添加或减去指定的时间间隔。

语法

DATEADD(datepart,number,date)

date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

datepart 参数可以是下列的值:

datepart 缩写
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns

实例

假设我们有如下的 "Orders" 表:

OrderId ProductName OrderDate
1 Jarlsberg Cheese 2008-11-11 13:23:44.657

现在,我们想要向 "OrderDate" 添加 45 天,这样就可以找到付款日期。

我们使用下面的 SELECT 语句:

SELECT OrderId,DATEADD(day,45,OrderDate) AS OrderPayDate FROM Orders

结果:

OrderId OrderPayDate
1 2008-12-26 13:23:44.657

(4)、

DATEDIFF() 函数返回两个日期之间的天数。

语法

DATEDIFF(datepart,startdate,enddate)

startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以是下列的值:

datepart 缩写
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns

实例

现在我们想要获取两个日期之间的天数。

我们使用下面的 SELECT 语句:

SELECT DATEDIFF(day,'2008-06-05','2008-08-05') AS DiffDate

结果:

DiffDate
61

实例

现在我们想要获取两个日期之间的天数(请注意,第二个日期比第一个日期早,结果将是一个负数)。

我们使用下面的 SELECT 语句:

SELECT DATEDIFF(day,'2008-08-05','2008-06-05') AS DiffDate

结果:

DiffDate
-61

(5)、

CONVERT() 函数是把日期转换为新数据类型的通用函数。

CONVERT() 函数可以用不同的格式显示日期/时间数据。

语法

CONVERT(data_type(length),expression,style)
值 描述
data_type(length) 规定目标数据类型(带有可选的长度)。
expression 规定需要转换的值。
style 规定日期/时间的输出格式。

下面的表格展示了 datetime 或 smalldatetime 转换为字符数据的 style 值:

值 (世纪 yy) 值 (世纪 yyyy) 输入/输出 标准
- 0 or 100 mon dd yyyy hh:miAM (or PM) Default
1 101 mm/dd/yy USA
2 102 yy.mm.dd ANSI
3 103 dd/mm/yy British/French
4 104 dd.mm.yy German
5 105 dd-mm-yy Italian
6 106 dd mon yy  
7 107 Mon dd, yy  
8 108 hh:mm:ss  
- 9 or 109 mon dd yyyy hh:mi:ss:mmmAM (or PM) Default+millisec
10 110 mm-dd-yy USA
11 111 yy/mm/dd Japan
12 112 yymmdd ISO
- 13 or 113 dd mon yyyy hh:mi:ss:mmm (24h)  
14 114 hh:mi:ss:mmm (24h)  
- 20 or 120 yyyy-mm-dd hh:mi:ss (24h)  
- 21 or 121 yyyy-mm-dd hh:mi:ss.mmm (24h)  
- 126 yyyy-mm-ddThh:mi:ss.mmm (no spaces) ISO8601
- 130 dd mon yyyy hh:mi:ss:mmmAM Hijiri
- 131 dd/mm/yy hh:mi:ss:mmmAM Hijiri

实例

下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:

CONVERT(VARCHAR(19),GETDATE()) CONVERT(VARCHAR(10),GETDATE(),10) CONVERT(VARCHAR(10),GETDATE(),110) CONVERT(VARCHAR(11),GETDATE(),6) CONVERT(VARCHAR(11),GETDATE(),106) CONVERT(VARCHAR(24),GETDATE(),113)

结果如下所示:

Nov 04 2011 11:45 PM 11-04-11 11-04-2011 04 Nov 11 04 Nov 2011 04 Nov 2011 11:45:34:243

sql date()函数的更多相关文章

  1. SQL-W3School-高级:SQL Date 函数

    ylbtech-SQL-W3School-高级:SQL Date 函数 1.返回顶部 1. SQL 日期 当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配. 只要 ...

  2. sql date()函数,时间格式

    (1).GETDATE() 函数从 SQL Server 返回当前的日期和时间. 语法 GETDATE() 实例 下面是 SELECT 语句: SELECT GETDATE() AS CurrentD ...

  3. SQL常用函数总结

    SQL常用函数总结 这是我在项目开发中使用db2数据库写存储过程的时候经常用到的sql函数.希望对大家有所帮助: sql cast函数 (1).CAST()函数的参数是一个表达式,它包括用AS关键字分 ...

  4. DB2 SQL 日期函数

    DB2 SQL 日期函数1:CURRENT TIMESTAMP 函数:获取当前日期时间语法:CURRENT TIMESTAMP参数:当前日期时间返回值:当前日期时间 2:CURRENT DATE 函数 ...

  5. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  6. java.util.Date与java.sql.Date

    我数据库里用到了日期类型.用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明Date类型 Date dt; 会报错,查了一下才发现有java.util.D ...

  7. java获取获得Timestamp类型的当前系统时间。以及java.util.date 、java.sql.Date之间的转换

    java获取取得Timestamp类型的当前系统时间java获取取得Timestamp类型的当前系统时间 格式:2010-11-04 16:19:42 方法1: Timestamp d = new T ...

  8. java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

    java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Da ...

  9. SQL SERVER 函数大全[转]

    SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...

随机推荐

  1. 2013年ACM湖南省赛总结

    今年的比赛最大的变化就是改用OJ判题了,相比于PC^2确实省事了不少,至少可以直接复制样例了.题目方面依旧是刘汝佳命题,这点还是相当好的,至少给人以足够的安全感. 开始比赛之后安叔瞬间就把前半部分题目 ...

  2. Oracle中Kill session的研究(转 出自eagle)

    itpub link: http://www.itpub.net/235873.html 我们知道,在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为: a ...

  3. Delphi 中 动态创建的Panel无法改变颜色的解决办法

    刚开始代码如下: procedure TForm1.Button1Click(Sender: TObject); var Panel: TPanel; begin Panel := TPanel.Cr ...

  4. WPF 定时写入文本

    public static void Start() { ThreadStart start = new ThreadStart(ThreadAction); Thread th = new Thre ...

  5. windows 2003服务器网络异常流量的处理办法

    最近通过防火墙发现一台服务器的流量占用非常厉害,上传的流量每秒达到100—200Mb/s,几乎占掉了一半的带宽.本来那台服务器上安装了360安全卫士,360安全卫士自身带的网络防火墙只能看进程,而不能 ...

  6. PopupWindow错误:PopupWindow$1.onScrollChanged 出现 NullPointerException和PopupViewContainer.dispatchKeyEvent 出现 NullPointerException

    错误1: java.lang.NullPointerException at android.widget.PopupWindow$1.onScrollChanged(PopupWindow.java ...

  7. phalcon开发工具(phalcon-devtools)

    一.简介 Phalcon提供的这个开发工具主要是用来辅助开发,比如生成一些程序的基本框架,生成控制器模型等.使用这个工具我们只需要一个简单的命令即可生成应用的基本框架. 二.下载 github: ht ...

  8. 高性能优化Web前端

    高性能HTML 一.避免使用iframe iframe也叫内联frame,可将一个HTML文档嵌入另一个HTML文档中. iframe的好处是,嵌入的文档独立于父文档,通常也借此使浏览器模拟多线程.缺 ...

  9. iOS开发-pod install 出错 The dependency `AFNetworking (~> 2.6.0)` is not used in any concrete target.

    低版本的cocoapods的Podfile文件pod install可以正常运行 platform :ios, '8.0' pod 'AFNetworking' 高版本的cocoapods的Podfi ...

  10. JavaScript - 2个等号与3个等号的区别

    简言之,== equality 等同,=== identity 恒等. ==, 两边值类型不同的时候,要先进行类型转换,再比较. ===,不做类型转换,类型不同的一定不等. 或: = 赋值运算符 == ...