SET DATEFORMAT对日期处理的影响
来源:互联网 发布:喜剧演员守望者 知乎 编辑:程序博客网 时间:2024/05/16 08:06
--1./*--说明
SET DATEFORMAT设置对使用CONVERT把字符型日期转换为日期的处理也具有影响
但不影响明确指定了style的CONVERT处理。
--*/
--示例 ,在下面的示例中,第一个CONVERT转换未指定style,转换的结果受SET DATAFORMAT的影响,第二个CONVERT转换指定了style,转换结果受style的影响。
--设置输入日期顺序为 日/月/年
SET DATEFORMAT DMY
--不指定Style参数的CONVERT转换将受到SET DATEFORMAT的影响
SELECT CONVERT(datetime,'2-1-2005')
--结果: 2005-01-02 00:00:00.000
--指定Style参数的CONVERT转换不受SET DATEFORMAT的影响
SELECT CONVERT(datetime,'2-1-2005',101)
--结果: 2005-02-01 00:00:00.000
GO
--2.
/*--说明
如果输入的日期包含了世纪部分,则对日期进行解释处理时
年份的解释不受SET DATEFORMAT设置的影响。
--*/
--示例,在下面的代码中,同样的SET DATEFORMAT设置,输入日期的世纪部分与不输入日期的世纪部分,解释的日期结果不同。
DECLARE @dt datetime
--设置SET DATEFORMAT为:月日年
SET DATEFORMAT MDY
--输入的日期中指定世纪部分
SET @dt='01-2002-03'
SELECT @dt
--结果: 2002-01-03 00:00:00.000
--输入的日期中不指定世纪部分
SET @dt='01-02-03'
SELECT @dt
--结果: 2003-01-02 00:00:00.000
GO
--3.
/*--说明
如果输入的日期不包含日期分隔符,那么SQL Server在对日期进行解释时
将忽略SET DATEFORMAT的设置。
--*/
--示例,在下面的代码中,不包含日期分隔符的字符日期,在不同的SET DATEFORMAT设置下,其解释的结果是一样的。
DECLARE @dt datetime
--设置SET DATEFORMAT为:月日年
SET DATEFORMAT MDY
SET @dt='010203'
SELECT @dt
--结果: 2001-02-03 00:00:00.000
--设置SET DATEFORMAT为:日月年
SET DATEFORMAT DMY
SET @dt='010203'
SELECT @dt
--结果: 2001-02-03 00:00:00.000
--输入的日期中包含日期分隔符
SET @dt='01-02-03'
SELECT @dt
--结果: 2003-02-01 00:00:00.000
- SET DATEFORMAT对日期处理的影响
- SET DATEFORMAT对日期处理的影响.sql
- SET DATEFORMAT对日期处理的影响(sql server)
- Date对日期的处理
- SSH对日期的处理
- json对日期的处理
- js 对日期的处理
- java 对日期的处理
- Oracle 对日期的处理
- Java对日期的处理
- Java对日期的处理
- 去除中国夏令时对日期的影响
- Perl,Shell,VBA对日期的处理
- ORACLE对日期时间的处理
- 浅析ETL中对日期的处理
- JAVA中对日期格式的处理
- mysql对日期时间的处理
- to_char对日期时间简单的处理
- 【收藏】A^B mod C代码
- cisco 一般配置应用
- Oracle不同字符集中对VarChar2和NVarChar2插入它国语言测试
- 二分图最大匹配(匈牙利算法)
- 改变自己(转载)
- SET DATEFORMAT对日期处理的影响
- DM642 FVID驱动
- orace的隔离级别
- Memory Leak Detection Using Windbg
- Cisco路由器VPN配置 实验
- Oracle中创建全文索引支持的类型
- OSGI 入门
- 烤箱的故事
- 有关日期