`

sql 时间函数大全

    博客分类:
  • sql
阅读更多

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','2004-09-18')  --返回:17

4. datepart 返回代表指定日期的指定日期部分的整数。
  SELECT DATEPART(month, '2004-10-15')  --返回 10

5. datename 返回代表指定日期的指定日期部分的字符串
  SELECT datename(weekday, '2004-10-15')  --返回:星期五

6. day(), month(),year() --可以与datepart对照一下

select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)

select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,'2004-10-15')
      ,今天是周几=datename(weekday,'2004-10-15')


函数参数/功能
GetDate( )  返回系统目前的日期与时间
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称

参数 interval的设定值如下:

值缩写(Sql Server) (Access 和 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  周,一年中的第几周 0 ~ 51
Hour Hh h  时0 ~ 23
Minute Mi n  分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999


access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似

举例:
1.GetDate() 用于sql server :select GetDate()

2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒
DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天

3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7)
DatePart('d','2005-7-25 22:56:32')返回值为 25即25号
DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天
DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年
2.       查询某个日期之间的记录数据:
select * from t_business_product where hit_count>1000 and last_date>'2005-02-01' and last_date<='2005-06-05'order by id desc
go
查询最近一个月内的点击率大于100的记录数据:
select * from t_business_product where hit_count>100 and datediff(Dd,last_date,getdate())<=30 order by id desc
go
查询最近一周内的点击率大于100的记录数据:
select * from t_business_product where hit_count>100 and datediff(Dw,last_date,getdate())<=7 order by id desc
go
查询某一年(如2006年)点击率大于300的记录数据:
select * from t_business_product where hit_count>300 and DatePart(Yy,last_date)=2006 order by id desc
go

select * from t_business_product where hit_count>300 and DatePart(Year,last_date)=2006 order by id desc
go
3.       SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm
例如:
select getdate()
2004-09-12 11:06:08.177
整理了一下SQL Server里面可能经常会用到的日期格式转换方法:
举例如下:
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608

select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12

select CONVERT(varchar(12) , getdate(), 112 )
20040912

select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12

select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004

select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004

select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
4.       CAST 和 CONVERT
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。

语法
使用 CAST:

CAST ( expression AS data_type )

使用 CONVERT:

CONVERT (data_type[(length)], expression [, style])

参数
expression

是任何有效的 Microsoft&reg; SQL Server&#8482; 表达式。有关更多信息,请参见表达式。

data_type

目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。有关可用的数据类型的更多信息,请参见数据类型。

length

nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

style

日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。

SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。

在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。

不带世纪数位 (yy) 带世纪数位 (yyyy)
标准
输入/输出**
- 0 或 100 (*)  默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*)  默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*)  欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*)  ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*)  ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM


*    默认值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
** 当转换为 datetime 时输入;当转换为字符数据时输出。
*** 专门用于 XML。对于从 datetime 或 smalldatetime 到 character 数据的转换,输出格式如表中所示。对于从 float、money 或 smallmoney 到 character 数据的转换,输出等同于 style 2。对于从 real 到 character 数据的转换,输出等同于 style 1。

重要 默认情况下,SQL Server 根据截止年份 2049 解释两位数字的年份。即,两位数字的年份 49 被解释为 2049,而两位数字的年份 50 被解释为 1950。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用 2030 作为截止年份。SQL Server 提供一个配置选项("两位数字的截止年份"),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。


当从 smalldatetime 转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从 datetime 或 smalldatetime 值进行转换时,可以通过使用适当的 char 或 varchar 数据类型长度来截断不需要的日期部分。

下表显示了从 float 或 real 转换为字符数据时的 style 值。

值输出
0(默认值)最大为 6 位数。根据需要使用科学记数法。
1 始终为 8 位值。始终使用科学记数法。
2 始终为 16 位值。始终使用科学记数法。


在下表中,左列表示从 money 或 smallmoney 转换为字符数据时的 style 值。

值输出
0(默认值)小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如 4235.98。
1 小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如 3,510.92。
2 小数点左侧每三位数字之间不以逗号分隔,小数点右侧取四位数,例如 4235.9819。

返回类型
返回与 data type 0 相同的值。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liuhaixian/archive/2007/04/24/1577777.aspx

分享到:
评论

相关推荐

    sql时间函数大全

    在开发数据库应用中,经常会遇到处理时间的问题,如查询指定时间的记录等。下面就这些常见的问题 ,结合自己的一些经验,和大家探讨一下这类问题。

    sql时间函数大全***

    **************************sql时间函数大全*****************

    sql时间函数格式转换

    关于sql时间函数格式转换比较全的转换函数和举例说明,整理之网络。

    SQL 常用函数- 时间函数

    SQLserver 中常用的函数,SQLserver 中常用的函数,SQLserver 中常用的函数,SQLserver 中常用的函数,SQLserver 中常用的函数

    SQL中的各类函数大全

    SQL函数大全 1、内部合计函数 2、日期与时间函数

    sql server 时间函数

    sql server 时间函数大全,很全,希望大家喜欢

    sqlserver时间函数

    时间函数,sqlserver,标签系统标签系统标签系统标签系统

    SQl 函数说明大全

    6.日期和时间函数 可以更改日期和时间的值。 7.数学函数 执行三角、几何和其他数字运算。 元数据函数 返回数据库和数据库对象的属性信息。 8.排名函数 是一种非确定性函数,可以返回分区中每一行的排名值。 9.行集...

    SQL时间数据函数大全

    详细列出了sql语句的时间函数,想要实现什么样的时间效果都可以实现

    SQLSERVER时间函数汇总

    SQLSERVER时间函数汇总,非常详细的内容

    SQL Server 2008函数大全

    SQL Server 函数大全,包括字符串、日期、时间等,绝对全部

    SQLServer2005函数大全

    日期和时间函数 3 日期部分 4 数学函数 5 数据类型转换函数 7 日期类型数据转换为字符数据类型的日期格式的部分样式表 7 系统函数 10 排名函数 10 聚合函数 11

    SQL时间函数使用以及函数之间使用方法

    sql 时间函数的例子和使用方法,以及函数之间的使用,函数的调用方法,函数的比较

    SQL时间函数(例)

    在函数CONVERT()中你可以使用许多种不同风格的日期和时间格式。下表显示了所有的格式。 日期和时间的类型: 类型值 标准 输出 0 Default mon dd yyyy hh:miAM 1 USA mm/dd/yy 2 ANSI yy.mm.dd 3 British/French ...

    Sql Server时间函数

    Sql Server时间函数实用大全,欢迎下载!

    SQL返回表的函数

    SQLServer 返回表的函数在网上有很多,但是大部分都是比较杂的,比较生硬难懂,而且又要跟数据车上关系,我的这个方法没有用到数据,用的是时间,输入一个时间,自动返回一表,表里面的内容是每个季度每个月的某个...

    SQL里面的时间与c#.net与asp.net常用函数方法大全

    SQL里面的时间与c#.net与asp.net常用函数方法大全: 25、Insert() 在字串中指定索引位插入指定字符。如: str1.Insert(1,"字");在str1的第二个字符处插入“字”,如果str1="中国",插入后为“中字国”; 26、...

    sqlserver函数案例

    主要包括sqlserver中的一此函数的使用方法,及一些例子,有时间函数,字符串函数等等

    delphi、 sql 日期时间函数

    delphi日期函数 Delphi里有现成的函数可以实现日期加减,是在DateUtils单元里的 mssql日期函数 日期转换参数

Global site tag (gtag.js) - Google Analytics