好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > sql convert函數使用小結

sql convert函數使用小結

熱門標簽:貴州房產智能外呼系統供應商 百度地圖標注改顏色 鎮江網路外呼系統供應商 申請400電話在哪辦理流程 外呼運營商線路收費 臨沂智能電銷機器人加盟哪家好 小e電話機器人 一個導航軟件能用幾個地圖標注點 電銷外呼有錄音系統有哪些

CONVERT(data_type,expression[,style])
convert(varchar(10),字段名,轉換格式)

說明:
此樣式一般在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)
相互轉換的時候才用到.

語句 結果
SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PM
SELECT CONVERT(varchar(100), GETDATE(), 1) 07/15/09
SELECT CONVERT(varchar(100), GETDATE(), 2) 09.07.15
SELECT CONVERT(varchar(100), GETDATE(), 3) 15/07/09
SELECT CONVERT(varchar(100), GETDATE(), 4) 15.07.09
SELECT CONVERT(varchar(100), GETDATE(), 5) 15-07-09
SELECT CONVERT(varchar(100), GETDATE(), 6) 15 07 09
SELECT CONVERT(varchar(100), GETDATE(), 7) 07 15, 09
SELECT CONVERT(varchar(100), GETDATE(), 8) 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 9) 07 15 2009 4:06:26:513PM
SELECT CONVERT(varchar(100), GETDATE(), 10) 07-15-09
SELECT CONVERT(varchar(100), GETDATE(), 11) 09/07/15
SELECT CONVERT(varchar(100), GETDATE(), 12) 090715
SELECT CONVERT(varchar(100), GETDATE(), 13) 15 07 2009 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 14) 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 20) 2009-07-15 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 21) 2009-07-15 16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 22) 07/15/09 4:06:26 PM
SELECT CONVERT(varchar(100), GETDATE(), 23) 2009-07-15
SELECT CONVERT(varchar(100), GETDATE(), 24) 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 25) 2009-07-15 16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 100) 07 15 2009 4:06PM
SELECT CONVERT(varchar(100), GETDATE(), 101) 07/15/2009
SELECT CONVERT(varchar(100), GETDATE(), 102) 2009.07.15
SELECT CONVERT(varchar(100), GETDATE(), 103) 15/07/2009
SELECT CONVERT(varchar(100), GETDATE(), 104) 15.07.2009
SELECT CONVERT(varchar(100), GETDATE(), 105) 15-07-2009
SELECT CONVERT(varchar(100), GETDATE(), 106) 15 07 2009
SELECT CONVERT(varchar(100), GETDATE(), 107) 07 15, 2009
SELECT CONVERT(varchar(100), GETDATE(), 108) 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 109) 07 15 2009 4:06:26:513PM
SELECT CONVERT(varchar(100), GETDATE(), 110) 07-15-2009
SELECT CONVERT(varchar(100), GETDATE(), 111) 2009/07/15
SELECT CONVERT(varchar(100), GETDATE(), 112) 20090715
SELECT CONVERT(varchar(100), GETDATE(), 113) 15 07 2009 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 114) 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 120) 2009-07-15 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 121) 2009-07-15 16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 126) 2009-07-15T16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 130) 23 ??? 1430 4:06:26:513PM
SELECT CONVERT(varchar(100), GETDATE(), 131) 23/07/1430 4:06:26:513PM

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小時制)
------------------------------------------------------------------------------------------------------------

說明:
使用 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 數據類型長度來截斷不需要的日期部分。

PS:結合datediff()函數用來比較時間特別有用。

-------------------------------------------------------------------------------------------------------------------------------------------

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年

SQL Server DATEPART() 函數返回 SQLServer datetime 字段的一部分。

SQL Server DATEPART() 函數的語法是:
DATEPART(portion, datetime)
其中 datetime 是 SQLServer datetime 字段和部分的名稱是下列之一: Ms for Milliseconds
Yy for Year
Qq for Quarter of the Year
Mm for Month
Dy for the Day of the Year
Dd for Day of the Month
Wk for Week
Dw for the Day of the Week
Hh for Hour
Mi for Minute
Ss for Second

詳細的說明:

通常,你需要獲得當前日期和計算一些其他的日期,例如,你的程序可能需要判斷一個月的第一天或者最后一天。你們大部分人大概都知道怎樣把日期進行分割(年、月、日等),然后僅僅用分割出來的年、月、日等放在幾個函數中計算出自己所需要的日期!在這篇文章里,我將告訴你如何使用DATEADD和 DATEDIFF函數來計算出在你的程序中可能你要用到的一些不同日期。
在使用本文中的例子之前,你必須注意以下的問題。大部分可能不是所有例子在不同的機器上執行的結果可能不一樣,這完全由哪一天是一個星期的第一天這個設置決定。第一天(DATEFIRST)設定決定了你的系統使用哪一天作為一周的第一天。所有以下的例子都是以星期天作為一周的第一天來建立,也就是第一天設置為7。假如你的第一天設置不一樣,你可能需要調整這些例子,使它和不同的第一天設置相符合。你可以通過@@DATEFIRST函數來檢查第一天設置。

為了理解這些例子,我們先復習一下DATEDIFF和DATEADD函數。DATEDIFF函數計算兩個日期之間的小時、天、周、月、年等時間間隔總數。 DATEADD函數計算一個日期通過給時間間隔加減來獲得一個新的日期。要了解更多的DATEDIFF和DATEADD函數以及時間間隔可以閱讀微軟聯機幫助。

使用DATEDIFF和DATEADD函數來計算日期,和本來從當前日期轉換到你需要的日期的考慮方法有點不同。你必須從時間間隔這個方面來考慮。比如,從當前日期到你要得到的日期之間有多少時間間隔,或者,從今天到某一天(比如1900-1-1)之間有多少時間間隔,等等。理解怎樣著眼于時間間隔有助于你輕松的理解我的不同的日期計算例子。

一個月的第一天

第一個例子,我將告訴你如何從當前日期去這個月的最后一天。請注意:這個例子以及這篇文章中的其他例子都將只使用DATEDIFF和DATEADD函數來計算我們想要的日期。每一個例子都將通過計算但前的時間間隔,然后進行加減來得到想要計算的日期。

這是計算一個月第一天的SQL 腳本:
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

我們把這個語句分開來看看它是如何工作的。最核心的函數是getdate(),大部分人都知道這個是返回當前的日期和時間的函數。下一個執行的函數 DATEDIFF(mm,0,getdate())是計算當前日期和“1900-01-01 00:00:00.000”這個日期之間的月數。記住:時期和時間變量和毫秒一樣是從“1900-01-01 00:00:00.000”開始計算的。這就是為什么你可以在DATEDIFF函數中指定第一個時間表達式為“0”。下一個函數是DATEADD,增加當前日期到“1900-01-01”的月數。通過增加預定義的日期“1900-01-01”和當前日期的月數,我們可以獲得這個月的第一天。另外,計算出來的日期的時間部分將會是“00:00:00.000”。

這個計算的技巧是先計算當前日期到“1900-01-01”的時間間隔數,然后把它加到“1900-01-01”上來獲得特殊的日期,這個技巧可以用來計算很多不同的日期。下一個例子也是用這個技巧從當前日期來產生不同的日期。


本周的星期一

這里我是用周(wk)的時間間隔來計算哪一天是本周的星期一。

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

一年的第一天

現在用年(yy)的時間間隔來顯示這一年的第一天。

SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

季度的第一天

假如你要計算這個季度的第一天,這個例子告訴你該如何做。

SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

當天的半夜

曾經需要通過getdate()函數為了返回時間值截掉時間部分,就會考慮到當前日期是不是在半夜。假如這樣,這個例子使用DATEDIFF和DATEADD函數來獲得半夜的時間點。

SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

深入DATEDIFF和DATEADD函數計算

你可以明白,通過使用簡單的DATEDIFF和DATEADD函數計算,你可以發現很多不同的可能有意義的日期。

目前為止的所有例子只是僅僅計算當前的時間和“1900-01-01”之間的時間間隔數量,然后把它加到“1900-01-01”的時間間隔上來計算出日期。假定你修改時間間隔的數量,或者使用不同的時間間隔來調用DATEADD函數,或者減去時間間隔而不是增加,那么通過這些小的調整你可以發現和多不同的日期。

這里有四個例子使用另外一個DATEADD函數來計算最后一天來分別替換DATEADD函數前后兩個時間間隔。

上個月的最后一天

這是一個計算上個月最后一天的例子。它通過從一個月的最后一天這個例子上減去3毫秒來獲得。有一點要記住,在Sql Server中時間是精確到3毫秒。這就是為什么我需要減去3毫秒來獲得我要的日期和時間。

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

計算出來的日期的時間部分包含了一個Sql Server可以記錄的一天的最后時刻(“23:59:59:997”)的時間。

去年的最后一天

連接上面的例子,為了要得到去年的最后一天,你需要在今年的第一天上減去3毫秒。

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

本月的最后一天

現在,為了獲得本月的最后一天,我需要稍微修改一下獲得上個月的最后一天的語句。修改需要給用DATEDIFF比較當前日期和“1900-01-01”返回的時間間隔上加1。通過加1個月,我計算出下個月的第一天,然后減去3毫秒,這樣就計算出了這個月的最后一天。這是計算本月最后一天的SQL腳本。

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

本年的最后一天

你現在應該掌握這個的做法,這是計算本年最后一天腳本

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

本月的第一個星期一

好了,現在是最后一個例子。這里我要計算這個月的第一個星期一,這是計算的腳本。

select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

您可能感興趣的文章:
  • SQL中object_id函數的用法
  • Sql Server 字符串聚合函數
  • SQL Server 排序函數 ROW_NUMBER和RANK 用法總結
  • sqlserver substring函數使用方法小結
  • sqlserver CONVERT()函數用法小結
  • SQLSERVER ISNULL 函數與判斷值是否為空的sql語句
  • SQL的SUBSTR()函數使用介紹
  • SQL中 decode()函數簡介
  • sql format()函數的用法及簡單實例
  • SQL查詢排名函數實例
  • SQL中位數函數實例

標簽:嘉興 晉城 日照 保定 延邊 三明 合肥 澳門

巨人網絡通訊聲明:本文標題《sql convert函數使用小結》,本文關鍵詞  sql,convert,函數,使用,小結,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sql convert函數使用小結》相關的同類信息!
  • 本頁收集關于sql convert函數使用小結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 在线视频综合视频免费观看| 麻豆精产国品一二三产区吗| 内在美电影| 桃花岛亚洲精品tv自拍网站 | 老人黄色片| 精品秘?一区性综合三区| 8x8国产人妻精品一区二区| 国产麻豆va精品视频| 黄页免费看| 扒开小泬疯狂做爰XXXⅩ| 三上悠亚被婬辱の教室XXX | 一级A片黄女人高潮网站| 男人?少妇A片免费大学生| 99爱久久精品免费| 天天综合日日噜噜噜| 精品视频在线观看免费| 久久久一区二区三区| 在线不欧美| 欧美日韩亚洲国产综合| 亚洲国产成人久久精品动漫| 成年免费大片黄在线观看一| 免费?吸乳羞羞网站国产| 天天亚洲综合| 欧美日韩在线永久免费播放| 阿?老?妇?乱?高潮| 一女六男NP慎入H| 《年轻女教师3》在线hd | 亚洲**2021在线观看| bl全肉高h强迫| 猛男在办公室被C男男| 国产精品va欧美精品| 久精品视频村上里沙| 免费在线黄色电影| 尤物国产精品午夜福利视频| 国模少妇一区二区三区咪咕| 欧美在线完整高清观看| np肉文高h| 陪读 乱 性孽缘| 男女啪啪猛烈无遮挡猛进猛出| 亚洲专区国产精品欧美电影| 久久国产精品1区2区3区网页|