SqlServer中日期和时间数据类型及函数 【转】
来源:http://blog.csdn.net/royalwzy/article/details/6446075
日期和时间数据类型
下表列出了 Transact-SQL 的日期和时间数据类型.
|
数据类型 |
格式 |
范围 |
精确度 |
存储大小(以字节为单位) |
用户定义的秒的小数精度 |
时区偏移量 |
|
time |
hh:mm:ss[.nnnnnnn] |
00:00:00.0000000 到 23:59:59.9999999 |
100 纳秒 |
3 到 5 |
有 |
无 |
|
date |
YYYY-MM-DD |
0001-01-01 到 9999-12-31 |
1 天 |
3 |
无 |
无 |
|
smalldatetime |
YYYY-MM-DD hh:mm:ss |
1900-01-01 到 2079-06-06 |
1 分钟 |
4 |
无 |
无 |
|
datetime |
YYYY-MM-DD hh:mm:ss[.nnn] |
1753-01-01 到 9999-12-31 |
0.00333 秒 |
8 |
无 |
无 |
|
datetime2 |
YYYY-MM-DD hh:mm:ss[.nnnnnnn] |
0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999 |
100 纳秒 |
6 到 8 |
有 |
无 |
|
datetimeoffset |
YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm |
0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999(以 UTC 时间表示) |
100 纳秒 |
8 到 10 |
有 |
有 |
注意:Transact-SQL rowversion 数据类型不是日期或时间数据类型.timestamp 是 rowversion 的同义词,但不推荐使用.
日期和时间函数
用来获取系统日期和时间值的函数
所有系统日期和时间值均得自运行 SQL Server 实例的计算机的操作系统.
精度较高的系统日期和时间函数
SQL Server 2008 使用 GetSystemTimeAsFileTime() Windows API 来获取日期和时间值.精确程度取决于运行 SQL Server 实例的计算机硬件和 Windows 版本.此 API 的精度固定为 100 纳秒.可通过使用 GetSystemTimeAdjustment() Windows API 来确定该精确度.
|
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
|
SYSDATETIME |
SYSDATETIME () |
返回包含计算机的日期和时间的 datetime2(7) 值,SQL Server 的实例正在该计算机上运行.时区偏移量未包含在内. |
datetime2(7) |
不具有确定性 |
|
SYSDATETIMEOFFSET |
SYSDATETIMEOFFSET ( ) |
返回包含计算机的日期和时间的 datetimeoffset(7) 值,SQL Server 的实例正在该计算机上运行.时区偏移量包含在内. |
datetimeoffset(7) |
不具有确定性 |
|
SYSUTCDATETIME |
SYSUTCDATETIME ( ) |
返回包含计算机的日期和时间的 datetime2(7) 值,SQL Server 的实例正在该计算机上运行.日期和时间作为 UTC 时间(通用协调时间)返回. |
datetime2(7) |
不具有确定性 |
精度较低的系统日期和时间函数
|
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
|
CURRENT_TIMESTAMP |
CURRENT_TIMESTAMP |
返回包含计算机的日期和时间的 datetime2(7) 值,SQL Server 的实例正在该计算机上运行.时区偏移量未包含在内. |
datetime |
不具有确定性 |
|
GETDATE |
GETDATE ( ) |
返回包含计算机的日期和时间的 datetime2(7) 值,SQL Server 的实例正在该计算机上运行.时区偏移量未包含在内. |
datetime |
不具有确定性 |
|
GETUTCDATE |
GETUTCDATE ( ) |
返回包含计算机的日期和时间的 datetime2(7) 值,SQL Server 的实例正在该计算机上运行.日期和时间作为 UTC 时间(通用协调时间)返回. |
datetime |
不具有确定性 |
用来获取日期和时间部分的函数
|
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
|
DATENAME |
DATENAME ( datepart , date ) |
返回表示指定日期的指定 datepart 的字符串. |
nvarchar |
不具有确定性 |
|
DATEPART |
DATEPART ( datepart , date ) |
返回表示指定 date 的指定 datepart 的整数. |
int |
不具有确定性 |
|
DAY |
DAY ( date ) |
返回表示指定 date 的"日"部分的整数. |
int |
具有确定性 |
|
MONTH |
MONTH ( date ) |
返回表示指定 date 的"月"部分的整数. |
int |
具有确定性 |
|
YEAR |
YEAR ( date ) |
返回表示指定 date 的"年"部分的整数. |
int |
具有确定性 |
用来获取日期和时间差的函数
|
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
|
DATEDIFF |
DATEDIFF ( datepart , startdate , enddate ) |
返回两个指定日期之间所跨的日期或时间 datepart 边界的数目. |
int |
具有确定性 |
用来修改日期和时间值的函数
|
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
|
DATEADD |
DATEADD (datepart , number , date ) |
通过将一个时间间隔与指定 date 的指定 datepart 相加,返回一个新的 datetime 值. |
date 参数的数据类型. |
具有确定性 |
|
SWITCHOFFSET |
SWITCHOFFSET (DATETIMEOFFSET , time_zone) |
SWITCH OFFSET 更改 DATETIMEOFFSET 值的时区偏移量并保留 UTC 值. |
具有 DATETIMEOFFSET 的小数精度的 datetimeoffset |
具有确定性 |
|
TODATETIMEOFFSET |
TODATETIMEOFFSET (expression , time_zone) |
TODATETIMEOFFSET 将 datetime2 值转换为 datetimeoffset 值.datetime2 值被解释为指定 time_zone 的本地时间. |
具有 datetime 参数的小数精度的 datetimeoffset |
具有确定性 |
用来设置或获取会话格式的函数
|
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
|
@@DATEFIRST |
@@DATEFIRST |
返回对会话进行 SET DATEFIRST 操作所得结果的当前值. |
tinyint |
不具有确定性 |
|
SET DATEFIRST |
SET DATEFIRST { number | @number_var } |
将一周的第一天设置为从 1 到 7 的一个数字. |
不适用 |
不适用 |
|
SET DATEFORMAT |
SET DATEFORMAT { format | @format_var } |
设置用于输入 datetime 或 smalldatetime 数据的日期各部分(月/日/年)的顺序. |
不适用 |
不适用 |
|
@@LANGUAGE |
@@LANGUAGE |
返回当前使用的语言的名称.@@LANGUAGE 不是日期或时间函数.但是,语言设置会影响日期函数的输出. |
不适用 |
不适用 |
|
SET LANGUAGE |
SET LANGUAGE { [ N ] 'language' | @language_var } |
设置会话和系统消息的语言环境.SET LANGUAGE 不是日期或时间函数.但是,语言设置会影响日期函数的输出. |
不适用 |
不适用 |
|
sp_helplanguage |
sp_helplanguage [ [ @language = ] 'language' ] |
返回有关所有支持语言日期格式的信息.sp_helplanguage 不是日期或时间存储过程.但是,语言设置会影响日期函数的输出. |
不适用 |
不适用 |
用来验证日期和时间值的函数
|
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
|
ISDATE |
ISDATE ( expression ) |
确定 datetime 或 smalldatetime 输入表达式是否为有效的日期或时间值. |
int |
只有与 CONVERT 函数一起使用,同时指定了 CONVERT 样式参数且样式不等于 0,100,9 或 109 时,ISDATE 才是确定的. |
日期和时间相关主题
|
主题 |
说明 |
|
使用日期和时间数据 |
提供通用于日期和时间数据类型及函数的信息和示例. |
|
CAST 和 CONVERT (Transact-SQL) |
提供有关在日期和时间值与字符串文字及其他日期和时间格式之间进行相互转换的信息. |
|
编写国际化 Transact-SQL 语句 |
提供使用 Transact-SQL 语句的数据库和数据库应用程序在不同语言之间的可移植性准则,或支持多种语言的数据库和数据库应用程序的可移植性准则. |
|
ODBC 标量函数 (Transact-SQL) |
提供有关可在 Transact-SQL 语句中使用的 ODBC 标量函数的信息.这包括 ODBC 日期和时间函数. |
|
分布式查询的数据类型映射 |
提供有关以下方面的信息:日期和时间数据类型对具有不同版本的 SQL Server 或不同访问接口的服务器之间的分布式查询有何影响. |
SqlServer中日期和时间数据类型及函数 【转】的更多相关文章
- Sqlserver中存储过程,触发器,自定义函数(二)
Sqlserver中存储过程,触发器,自定义函数: 自定义函数:1.函数类型:2.函数的参数和返回值: 1.函数类型:标量值函数,返回的是一个标量值表值函数:内联表值函数:多语句表值函数. 标量值函数 ...
- Sqlserver中存储过程,触发器,自定义函数(一)
Sqlserver中存储过程,触发器,自定义函数 1.存储过程有关内容存储过程的定义:存储过程的分类:存储过程的创建,修改,执行:存储过程中参数的传递,返回与接收:存储过程的返回值:存储过程使用游标. ...
- Python中日期和时间格式化输出的方法
本文转自:https://www.jb51.net/article/62518.htm 本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化 ...
- Sqlserver中存储过程,触发器,自定义函数
Sqlserver中存储过程,触发器,自定义函数: 1. 触发器:是针对数据库表或数据库的特殊存储过程,在某些行为发生的时候就会被激活 触发器的分类: DML触发器:发生在数据操作语言执行时触发执行的 ...
- 5 个关于 API 中日期和时间设计规则
规则 #1 使用ISO-8601格式作为你的日期格式 ISO 8601 解决了很多问题,包括: 自然排序 - 简单和优雅,免去多余的工作即可实现排序 时区偏移 - 代表用户的地点和时区在日益增长的全球 ...
- sqlserver常用日期、时间函数和格式
Sql Server中常用的日期与时间函数1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 ...
- Linux C 中获取local日期和时间 time()&localtime()函数
1. time() 函数 /* time - 获取计算机系统当前的日历时间(Calender Time) * 处理日期时间的函数都是以本函数的返回值为基础进行运算 * * 函数原型: * #incl ...
- ACCESS中如何比较日期和时间,使用DateDiff函数
DateDiff,语法如下:DateDiff( 间隔字符, 日期1, 日期2 [,firstdayofweek[, firstweekofyear]])一般使用 DateDiff( 间隔字符, 日期1 ...
- SQLServer中ISNULL、NULLIF和CONVERT函数
create view sss as(select ISNULL(operate_time, CONVERT(VARCHAR(20),create_time,120)) time from s_pro ...
随机推荐
- PHP中使用的变量
变量是用于临时的存储值的容器.这些值可以是数字.文本,或者复杂得多的排列组合. 变量在任何编程语言中都居于核心地位,理解它们是使用PHP的关键所在.变量又是指在程序的运行过程中随时可以发生变化的量,是 ...
- linux 任务调度 系统任务调度
linux at 针对运行一次的任务 crontab 控制计划任务的命令 crond系统服务 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程, 与windows ...
- 怎么书写高质量jQuery代码
众所周知,jQuery现在已经非常流行,百度新首页中也已经开始使用jQuery,今天总结下怎么书写更好的jQuery代码使jQuery代码更好.更快的执行,希望本篇jQuery教程一改大家以前不合理的 ...
- Gmail邮箱添加域名解析
主机记录 MX 服务器地址 优先级@ MX ASPMX.L.GOOGLE.COM. 10@ MX ALT1.ASPMX.L.GOOGLE.COM. 20@ MX ALT2.AS ...
- uninstall gitlab
Stop gitlab and remove its supervision process sudo gitlab-ctl uninstall Debian/Ubuntu sudo dpkg -r ...
- LeetCode Majority Element(简单题)
题意: 给一个数组,其中有一个元素的出现次数已经超过数组的一半大小,请找出这个元素? 思路: 可以扫一遍数组,将这个出现次数过多的元素抵消其他的元素,最后必定留下1个以上的元素,就是它自己了. pyt ...
- 《JavaScript模式》第1章 简介
@by Ruth92(转载请注明出处) 第1章 简介 模式 模式:是指一个通用问题的解决方案. 设计模式 编码模式 反模式:常见的.引发问题比解决的问题更多的一种方法. JavaScript 基本概念 ...
- 【题解】【排列组合】【素数】【Leetcode】Unique Paths
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- iOS 协同开发出fatal error: file ‘XX-Prefix.pch’ has been modified since the precompiled header was built
在协同开发的时候,刚刚从svn下载到本地的代码,出现“fatal error: file 'XX-Prefix.pch' has been modified since the precompiled ...
- C#裁剪照片并保存
/// <summary> /// /// </summary> /// <summary> /// 生成缩略图 /// </ ...