sql server 时间小汇

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‘)

执行结果:

可指定返回的日期部分参数和缩写如下表。


参数


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.

时间: 2025-01-15 23:24:41

sql server 时间小汇的相关文章

SQL Server时间粒度系列----第4节季、年时间粒度详解

本文目录列表: 1.SQL Server季时间粒度2.SQL Server年时间粒度 3.总结语 4.参考清单列表 SQL Serve季时间粒度   季时间粒度也即是季度时间粒度.一年每3个月是一个季,一年共4季,1月到3月是第1季.4月到6月是第2个季.依次顺延.季也是日期时间范围的,我们也会引入季基准日期,也就是每个季度的第一天.以下提供季基准日期和整数相互转换的功能的实现,还有获取指定日期时间所在当前年内的季索引,从1开始计数,包括1.2.3.4. 提供季基准日期和整数相互转换的功能函数,

SQL Server时间粒度系列----第1节时间粒度概述

本文目录列表: 1.什么是时间粒度?2.SQL Server提供的时间粒度3.SQL Server时间粒度代码演示   4.SQL Server基准日期 5.总结语6.参考清单列表 什么是时间粒度?   我们知道比如年.季度.月.旬(一个月分为上中下3旬).日这样的时间单位:也知道小时.分钟.秒:也有短于秒的比如毫秒.微妙.纳秒.飞秒等等时间单位.基于不同的时间,我们可以将时间粒度看作不同时间单位的时间值. 举个例子来说明时间粒度这个问题.一个日期时间值是'2016-02-29',很显然我们知道

SQL Server时间粒度系列----第7节日历数据表详解

本文目录列表: 1.时间粒度有关描述 2.时间维度有关功能函数3.日历数据表 4.日历数据表数据填充 5.总结语 6.参考清单列表 时间粒度有关描述   将该系列涉及到的时间粒度以及分钟以下的粒度做个总结,如以下表格: 时间粒度                 纳秒                 微妙                 毫秒                 秒                 分钟 日期分钟数(整数)* 日期分钟* 日内分钟数           小时 日期小时数

SQL Server ->> 时间函数: EOMONTH, DATEFROMPARTS, TIMEFROMPARTS, DATETIMEFROMPARTS, DATETIMEOFFSETFROMPARTS

上面几个函数都是SQL Server 2012新增的时间函数. EOMONTH 返回传入时间的月结束日,返回数据类型为DATE SELECT EOMONTH(GETDATE()) 结果为 2016-01-31 DATEFROMPARTS 如同C#或者Java声明一个DATETIME实例那样通过传入YEAR, MONTH, DAY的数字值得到一个DATETIME的实例.这里也是一样.通过传入年月日来得到一个DATE.但是如果你一旦传入的参数无法构造出一个合法的时间,就会报错. DECLARE @Y

SQL Server时间粒度系列----第2节日期、周时间粒度详解

本文目录列表: 1.从MySQL提供的TO_DAYS和FROM_DAYS这对函数说起2.SQL Server日期时间粒度3.SQL Server周有关时间粒度 4.总结语 5.参考清单列表 从MySQL提供的TO_DAYS和FROM_DAYS针对函数说起      学习和使用过MySQL的博友,大都知道MySQL提供了很多针对日期和时间的函数,提供了获取不同时间粒度上的功能.相对而然SQL Server提供的有关日期和时间函数不太多的,但是其提供的功能也是蛮强大的.还是让我们继续话说MySQL的

Sql Server 时间格式

问题引出: Sql Server 里 dateTime 数据类型,会精确到毫秒.如果我们 在插入一条数据的时候,使用 GetDate() 记录 这个记录插入的时间,则会插入当前时间,精确到毫秒.在查询 的时候 我们 并不需要精确到 毫秒,精确到 天 即可. 解决: 使用 Convert() 转换. 如:Select time = Convert(varchar(100),time,23).第三个参数指定转换 格式码. 更多参考: Select CONVERT(varchar(100), GETD

sql server 常用小知识点

1. sql server的语法:中文要加 N select * from eVA_EMPBoard where name = N'施纪平' 而oracle的不用 2.

SQL Server Profiler小技巧——筛选请求

如果需要转载,请附上本文作者和原文链接:http://www.cnblogs.com/zeusro/p/4016228.html Microsoft SQL Server Profiler 是 SQL 跟踪的图形用户界面,用于监视 数据库引擎或 Analysis Services 的实例.您可以捕获有关每个事件的数据并将其保存到文件或表中供以后分析.例如,可以对生产环境进行监视,了解哪些存储过程由于执行速度太慢影响了性能. 若要运行 SQL Server Profiler,请在“开始”菜单上依次

sql server 时间

sql server 获取月份天数:1,SELECT 32-DAY(CAST('2015-03-01' as datetime)+32-DAY(CAST('2015-03-01' as datetime))) 2,SELECT 32-DAY(getdate()+32-DAY(getdate())) 3,select convert(char(10),dateadd(d,-1,dateadd(m,1,CAST('2015-02-01' as datetime))),120):2015-02-28