Sql Server函数全解<四>日期和时间函数

原文:Sql Server函数全解<四>日期和时间函数

  日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分。相同的,以time类型值为参数的函数,可以接受datetime类型的参数,但会忽略日期部分。

1.获取系统当前日期的函数getDate();

 getDate()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime.
【例】select getDate() as currentTime;

2.返回UTC日期的函数UTCDATE()

 UTCDATE()函数返回当前UTC(世界标准时间)日期值.
【例】select GETUTCDATE() AS UTCtime;

 因为本人深处朝廷管辖范围之内,位于东八时区,所以系统的当前时间比UTC提前8小时,所以这里显示的UTC时间需要减去8个小时的时差。

3.获取天数的函数DAY(d)

 DAY(d)函数用于返回指定日期的d是一个月中的第几天,范围从1~31,该函数在功能上等价于DATEPART(dd,d)。
【例】select DAY('2015-04-30 01:01:01');

4.获取月份的函数MONTH(d)

 MONTH(d)函数用于返回指定日期d中月份的整数值。
【例】SELECT MONTH('2015-04-30') AS monthValue; 

5.获取年份的函数YEAR(d)

 YEAR(d)函数返回指定日期d中年份的整数值。
【例】SELECT YEAR('2015-04-30'),YEAR(1997-07-01);

6.获取日期中指定部分字符串值的函数DATENAME(dp,d)

 DATENAME(dp,d)根据dp指定返回日期中相应部分的值,例如YEAR返回日期中的年份值,MONTH返回日期中的月份值,dp其它可以取的值有:quater,dayofyear,day,week,weekday,hour,minute,second等。
【例】SELECT DATENAME(year,'2015-04-30 01:01:01') AS yearValue;
   SELECT DATENAME(quater,'2015-04-30 01:01:01') AS quaterValue;
   SELECT DATENAME(dayofyear,'2015-04-30 01:01:01') AS dayofyearValue;
   SELECT DATENAME(day,'2015-04-30 01:01:01') AS dayValue;
   SELECT DATENAME(week,'2015-04-30 01:01:01') AS weekValue;
   SELECT DATENAME(weekday,'2015-04-30 01:01:01') AS weekdayValue;
   SELECT DATENAME(hour,'2015-04-30 01:01:01') AS hourValue;
   SELECT DATENAME(minute,'2015-04-30 01:01:01') AS minuteValue;
   SELECT DATENAME(second,'2015-04-30 01:01:01') AS secondValue;

7.获取日期中指定部分的整数值的函数DATEPART(dp,d)

 DATEPART(dp,d)函数返回指定日期中相应的部分的整数值,dp的取值与DATETIME函数相同。
【例】SELECT DATEPART(year,'2015-04-30 01:01:01'),DATEPART(month,'2015-04-30 01:01:01'),
       DATEPART(dayofyear,'2015-04-30 01:01:01');

8.计算日期和时间的函数DATEADD(dp,num,d)

 DATEADD(dp,num,d)函数用于执行日期的加运算,返回指定日期值加上一个时间段后的新日期。dp指定日期中进行加法运算的部分值,例如:year,month,day,hour,minute,second,millsecond等,num指定与dp相加的值,如果该值为非整数值,将舍弃该值的小数部分,d为执行加法运算的日期。
 SELECT DATEADD(year,1,'2015-04-30 01:01:01') AS yearAdd,
 DATETIME(month ,2, '2015-04-30 01:01:01') AS weekdayAdd,
 DATEADD(hour,2,'2015-04-30 01:01:01') AS hourAdd;

 

日期函数上面例子的脚本:

 

-时间函数
select  getDate() as currentTime;
select  GETUTCDATE() AS UTCtime;
select  DAY('2015-04-30 01:01:01');
SELECT  MONTH('2015-04-30')AS monthValue;
SELECT  YEAR('2015-04-30'),YEAR('1997-07-01');

SELECT DATENAME(year,'2015-04-30 01:01:01') AS yearValue,
       DATENAME(quarter,'2015-04-30 01:01:01') AS quaterValue,
       DATENAME(dayofyear,'2015-04-30 01:01:01') AS dayofyearValue,
       DATENAME(day,'2015-04-30 01:01:01') AS dayValue,
       DATENAME(week,'2015-04-30 01:01:01') AS weekValue,
       DATENAME(weekday,'2015-04-30 01:01:01') AS weekdayValue,
       DATENAME(hour,'2015-04-30 01:01:01') AS hourValue,
       DATENAME(minute,'2015-04-30 01:01:01') AS minuteValue,
       DATENAME(second,'2015-04-30 01:01:01') AS secondValue;

SELECT  DATEPART(year,'2015-04-30 01:01:01'),
        DATEPART(month,'2015-04-30 01:01:01'),
        DATEPART(dayofyear,'2015-04-30 01:01:01');

SELECT    DATEADD(year,1,'2015-04-30 01:01:01') AS yearAdd,
        DATEADD(month ,2, '2015-04-30 01:01:01') AS weekdayAdd,
        DATEADD(hour,2,'2015-04-30 01:01:01') AS hourAdd;
时间: 2024-09-06 18:44:39

Sql Server函数全解<四>日期和时间函数的相关文章

asp之日期和时间函数示例

函数|示例 asp之日期和时间函数示例 可以使用日期和时间函数来得到各种格式的日期和时间 函数 语法 说明 示例 Now Now() 取得系统当前的日期和时间 Dim MyVar MyVar = Now' MyVar 包含当前的日期和时间. Date Date() 取得系统当前的日期 Dim MyDate MyDate = Date' MyDate 包含当前系统日期. Time Time() 取得系统当前的时间 Dim MyTime MyTime = Time ' 返回当前系统时间. Year

Sql Server函数全解&lt;三&gt;数据类型转换函数和文本图像函数

原文:Sql Server函数全解<三>数据类型转换函数和文本图像函数 一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和float,但是对于其它数据类型,例如整型和字符类型,隐士转换就无法实现了,此时必须使用显示转换.为了实现这种显示转换,T-SQL提供了两个显示转换函数,分别是CAST和CONVERT函数. CAST(x AS type)和CONVERT(type,x)函数将一个类型的值转换为另一个

Sql Server函数全解&lt;二&gt;数学函数

原文:Sql Server函数全解<二>数学函数   数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数,三角函数(包括正弦函数,余弦函数,正切函数,余切函数).对数函数,随机函数等.在错误产生时,数学函数将返回空值null.本次介绍各种数学函数的功能和用法. 1.绝对值函数ABS(x)和返回圆周率的函数PI()  ABS(x)返回x的绝对值,PI()返回圆周率的值  eg: select ABS(2),ABS(-3.3),ABS(-33),PI(); 正数的绝对值是其本身,2的绝对值

Sql Server函数全解&lt;五&gt;之系统函数

原文:Sql Server函数全解<五>之系统函数  系统信息包括当前使用的数据库名称,主机名,系统错误消息以及用户名称等内容.使用SQL SERVER中的系统函数可以在需要的时候获取这些信息.下面介绍系统函数的作用和使用方法. 1.返回表中指定字段的长度   COL_LENGTH(table,column)函数返回表中指定字段的长度值.其返回值为int类型,table为要确定其列长度信息的表的名称,是nvarchar类型的表达式.column为要确定其长度的列的名称,是nvarchar类型的

Sql Server中的日期与时间函数

Sql Server中的日期与时间函数: 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值:   例如:向日期加上2天    select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数:   select datediff(day,'2004-09-01'

SQL SERVER 2005中如何获取日期(一个月的最后一日、上个月第一天、最后一天、一年的第一日等等)

原文:[转]SQL SERVER 2005中如何获取日期(一个月的最后一日.上个月第一天.最后一天.一年的第一日等等) 在网上找到的一篇文章,相当不错哦O(∩_∩)O~ //C#本周第一天            int dayOfWeek = Convert.ToInt32(DateTime.Now.DayOfWeek);            DateTime today = System.DateTime.Now.AddDays((-1) * (dayOfWeek==0?7:dayOfWee

Sql Server之旅——第四站 你必须知道的非聚集索引扫描

原文:Sql Server之旅--第四站 你必须知道的非聚集索引扫描 非聚集索引,这个是大家都非常熟悉的一个东西,有时候我们由于业务原因,sql写的非常复杂,需要join很多张表,然后就泪流满面了...这时候就 有DBA或者资深的开发给你看这个猥琐的sql,通过执行计划一分析...或许就看出了不该有的表扫描...万恶之源...然后给你在关键的字段加上非 聚集索引后...才发现提速比阿斯顿马丁还要快...那么一个问题来了,为什么非聚集索引能提速这么快...怎么做到的???是不是非常的好奇??? 这

SQL Server数据全同步及价值分析[终结版]

SQL Server数据全同步[终结版] 版权所有,转载请注明出处,谢谢! 经过两天的同步编写和测试,出了第一个Release版本: 1. 本函数仅支持单向同步,即从一个主数据库想多个从数据库同步 2.主数据库的任何增删改都会同步到所有从数据库上 3. 最重要的一点:同步数据库的价值所在:当主数据库服务器不可用时,程序可以使用其他从数据库或者备用数据库,这对于未来公有云和私有云应用具有重大价值! 代码: <span style="font-size:18px;">/// &

SQL Server连接中的四个最常见错误

server|错误 SQL Server连接中的四个最常见错误: 一."SQL Server 不存在或访问被拒绝" 这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多. 一般说来,有以下几种可能性: 1,SQL Server名称或IP地址拼写有误 2,服务器端网络配置有误 3,客户端网络配置有误 要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因. ============= 首先,检查网络物理连接 ============= ping <服务器IP地址