sql datetime转换和提取指定字段

格式:
CONVERT (data_type,expression [ ,style ] )

说明:
此样式一般在时间类型(
datetime , smalldatetime )与字符串类型( nchar , nvarchar , char , varchar )
相互转换的时候才用到.

例子:
SELECT   CONVERT ( varchar ( 30 ), getdate (), 101 ) now
结果为:
now
-- -------------------------------------
| 09 / 15 / 2001

===================================================================

style数字在转换时间时的含义如下:

-- ----------------------------------------------------------------------------------------------------------
Style(2位表示年份)    |   Style(4位表示年份)    |    输入输出格式                                    
-- ----------------------------------------------------------------------------------------------------------
0                                 |   100                             |    mon dd yyyy hh:miAM(或PM)              
-- ----------------------------------------------------------------------------------------------------------
1                                 |    101    美国                 |    mm / dd / yy                                       
-- ----------------------------------------------------------------------------------------------------------
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:mmmmAM(或PM)
-- ----------------------------------------------------------------------------------------------------------
10                               |    110     美国                  |    mm - dd - yy                                         
-- ----------------------------------------------------------------------------------------------------------
11                               |    111     日本                  |    yy / mm / dd                                        
-- ----------------------------------------------------------------------------------------------------------
12                               |    112     ISO                   |    yymmdd                                           
-- ----------------------------------------------------------------------------------------------------------
13                               |    113      欧洲默认值      |    dd mon yyyy hh:mi:ss:mmm(24小时制)  
-- ----------------------------------------------------------------------------------------------------------
14                               |    114                              |    hh:mi:ss:mmm(24小时制)                    
-- ----------------------------------------------------------------------------------------------------------
20                               |    120      ODBC 规范      |     yyyy - mm - dd hh:mi:ss(24小时制)         
-- ----------------------------------------------------------------------------------------------------------
21                               |     121                             |     yyyy - mm - dd hh:mi:ss:mmm(24小时制) 
-- ----------------------------------------------------------------------------------------------------------

语句及查询结果:
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  0 ):  05   16   2006   10 :57AM
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  1 ):  05 / 16 / 06
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  2 ):  06.05 . 16
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  3 ):  16 / 05 / 06
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  4 ):  16.05 . 06
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  5 ):  16 - 05 - 06
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  6 ):  16   05   06
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  7 ):  05   16 06
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  8 ):  10 : 57 : 46
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  9 ):  05   16   2006   10 : 57 : 46 :827AM
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  10 ):  05 - 16 - 06
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  11 ):  06 / 05 / 16
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  12 ):  060516
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  13 ):  16   05   2006   10 : 57 : 46 : 937
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  14 ):  10 : 57 : 46 : 967
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  20 ):  2006 - 05 - 16   10 : 57 : 47
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  21 ):  2006 - 05 - 16   10 : 57 : 47.157
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  22 ):  05 / 16 / 06   10 : 57 : 47  AM
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  23 ):  2006 - 05 - 16
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  24 ):  10 : 57 : 47
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  25 ):  2006 - 05 - 16   10 : 57 : 47.250
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  100 ):  05   16   2006   10 :57AM
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  101 ):  05 / 16 / 2006
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  102 ):  2006.05 . 16
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  103 ):  16 / 05 / 2006
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  104 ):  16.05 . 2006
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  105 ):  16 - 05 - 2006
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  106 ):  16   05   2006
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  107 ):  05   16 2006
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  108 ):  10 : 57 : 49
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  109 ):  05   16   2006   10 : 57 : 49 :437AM
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  110 ):  05 - 16 - 2006
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  111 ):  2006 / 05 / 16
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  112 ):  20060516
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  113 ):  16   05   2006   10 : 57 : 49 : 513
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  114 ):  10 : 57 : 49 : 547
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  120 ):  2006 - 05 - 16   10 : 57 : 49
SELECT   CONVERT ( varchar ( 100 ),  GETDATE (),  121 ):  2006 - 相关文章

DATEPART

返回代表指定日期的指定日期部分的整数。

语法

DATEPART ( datepart ,date )

参数

datepart

是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
Hour hh
minute mi, n
second ss, s
millisecond ms
 

week (wk, ww) 日期部分反映对 SET DATEFIRST 作的更改。任何一年的 1 月 1 日定义了 week 日期部分的开始数字,例如:DATEPART(wk, 'Jan 1, xxxx') = 1,此处 xxxx 代表任一年。

weekday (dw) 日期部分返回对应于星期中的某天的数,例如:Sunday = 1、Saturday = 7。weekday 日期部分产生的数取决于 SET DATEFIRST 设定的值,此命令设定星期中的第一天。

date

是返回 datetimesmalldatetime 值或日期格式字符串的表达式。对 1753 年 1 月 1 日之后的日期用datetime 数据类型。更早的日期存储为字符数据。当输入 datetime 值时,始终将其放入引号中。因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。

如果只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049 (默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。

有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。

返回类型

int

注释

DAY、MONTH、和 YEAR 函数分别是 DATEPART(dd, date)、DATEPART(mm, date)、和 DATEPART(yy, date) 的同义词。

示例

GETDATE 函数返回当前日期;然而,比较时并不总是需要完整的日期信息(通常只是对日期的一部分进行比较)。此示例显示 GETDATE 及 DATEPART 的输出。

SELECT GETDATE() AS 'Current Date'
GO

下面是结果集:

Current Date
---------------------------
Feb 18 1998 11:46PM
SELECT DATEPART(month, GETDATE()) AS 'Month Number'
GO

下面是结果集:

Month Number
------------
2

此示例假设日期是 5 月 29 日。

SELECT DATEPART(month, GETDATE())
GO

下面是结果集:

-----------
5
(1 row(s) affected)

在此示例中,以数字表示日期。注意:SQL Server 将 0 解释为 01/01/1900。

SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)

下面是结果集:

----- ------ ------
1     1      1900

你可能感兴趣的:(sql,sql,Date,server,Microsoft,存储,Go)