日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

T-SQL Convert转换时间类型

發布時間:2023/11/27 生活经验 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 T-SQL Convert转换时间类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

關鍵字: sql 時間 轉化

SQL中CONVERT轉化函數的用法
格式:
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(),: 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-05-16 10:57:49.700
SELECT CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

說明:
使用 CONVERT:

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

參數
expression

是任何有效的 Microsoft? SQL Server? 表達式。。

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* Hijri**** dd mon yyyy hh:mi:ss:mmmAM
- 131* Hijri**** 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。
****Hijri 是具有幾種變化形式的日歷系統,Microsoft? SQL Server? 2000 使用其中的科威特算法。


重要? 默認情況下,SQL Server 根據截止年份 2049 解釋兩位數字的年份。即,兩位數字的年份 49 被解釋為 2049,而兩位數字的年份 50 被解釋為 1950。許多客戶端應用程序(例如那些基于 OLE 自動化對象的客戶端應用程序)都使用 2030 作為截止年份。SQL Server 提供一個配置選項("兩位數字的截止年份"),借以更改 SQL Server 所使用的截止年份并對日期進行一致性處理。然而最安全的辦法是指定四位數字年份。


當從 smalldatetime 轉換為字符數據時,包含秒或毫秒的樣式將在這些位置上顯示零。當從 datetime 或 smalldatetime 值進行轉換時,可以通過使用適當的 char 或 varchar 數據類型長度來截斷不需要的日期部分。

轉載于:https://www.cnblogs.com/michaelShao/archive/2010/01/12/1644590.html

總結

以上是生活随笔為你收集整理的T-SQL Convert转换时间类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。