資料庫操作記錄(2)日期求差DATEDIFF和格式轉換CONVERT(CHAR(10),DATE ,21) /datename(year,lr.StartTime)
sqlserver 資料庫操作
1、求日期之差
select DATEDIFF(s,lr.StartTime ,lr.endtime ) as secCount from lr
第一個引數是 計算差值的標準 可以是 year month day week hour minute s
注意事項:
DATEDIFF(s,date1,date2 )
用法 此函式計算兩個指定日期之間日期部分的數目。結果為日期部分中等於(date2 - date1)的有符號的整數值。
當結果不是日期部分的偶數倍時,DATEDIFF 將被截斷而不是被舍入。
當使用 day 作為日期部分時,DATEDIFF 返回兩個指定的時間之間(包括第二個日期但不包括第一個日期)的午夜數。
當使用 month 作為日期部分時,DATEDIFF 返回兩個日期之間(包括第二個日期但不包括第一個日期)出現的月的第一天的數目。
當使用 week 作為日期部分時,DATEDIFF 返回兩個日期(包括第二個日期但不包括第一個日期)之間星期日的數目。
對於更小的時間單位存在溢位值:
milliseconds 24 天
seconds 68 年
minutes 4083 年
others 沒有溢位限制
如果超出這些限制,此函式將返回溢位錯誤。
2、處理日期格式
2.1 使用convert函式
SELECT CONVERT(CHAR(10),DATE ,21) FROM TABLE1 WHERE .....
顯示的是這種形式例2015-10-19
具體引數說明如下
SELECT CONVERT(varchar(30),getdate(),101) now
結果為
now
09/15/2001
/////////////////////////////////////////////////////////////////////////////////////
style數字在轉換時間時的含義如下
-------------------------------------------------------------------------------------------------
Style(2位表示年份) | Style(4位表示年份) | 輸入輸出格式
-------------------------------------------------------------------------------------------------
- | 0 or 100 | mon dd yyyy hh:miAM(或PM)
-------------------------------------------------------------------------------------------------
1 | 101 | mm/dd/yy
-------------------------------------------------------------------------------------------------
2 | 102 | 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 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)
-------------------------------------------------------------------------------------------------
10 | 110 | mm-dd-yy
-------------------------------------------------------------------------------------------------
11 | 111 | yy/mm/dd
-------------------------------------------------------------------------------------------------
12 | 112 | yymmdd
-------------------------------------------------------------------------------------------------
- | 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24小時制)
-------------------------------------------------------------------------------------------------
14 | 114 | hh:mi:ss:mmm(24小時制)
-------------------------------------------------------------------------------------------------
- | 20 or 120 | yyyy-mm-dd hh:mi:ss(24小時制)
-------------------------------------------------------------------------------------------------
- | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24小時制)
抄的執行結果
SELECT CONVERT(varchar(100), GETDATE(), 0) 05 9 2011 9:12AM
SELECT CONVERT(varchar(100), GETDATE(), 1) 05/09/11
SELECT CONVERT(varchar(100), GETDATE(), 2) 11.05.09
SELECT CONVERT(varchar(100), GETDATE(), 3) 09/05/11
SELECT CONVERT(varchar(100), GETDATE(), 4) 09.05.11
SELECT CONVERT(varchar(100), GETDATE(), 5) 09-05-11
SELECT CONVERT(varchar(100), GETDATE(), 6) 09 05 11
SELECT CONVERT(varchar(100), GETDATE(), 7) 05 09, 11
SELECT CONVERT(varchar(100), GETDATE(), 8) 09:13:14
SELECT CONVERT(varchar(100), GETDATE(), 9) 05 9 2011 9:13:14:670AM
SELECT CONVERT(varchar(100), GETDATE(), 10) 05-09-11
SELECT CONVERT(varchar(100), GETDATE(), 11) 11/05/09
SELECT CONVERT(varchar(100), GETDATE(), 12) 110509
SELECT CONVERT(varchar(100), GETDATE(), 13) 09 05 2011 09:13:14:670
SELECT CONVERT(varchar(100), GETDATE(), 14) 09:13:14:670
SELECT CONVERT(varchar(100), GETDATE(), 20) 2011-05-09 09:13:14
SELECT CONVERT(varchar(100), GETDATE(), 21) 2011-05-09 09:13:14.670
SELECT CONVERT(varchar(100), GETDATE(), 22) 05/09/11 9:15:33 AM
SELECT CONVERT(varchar(100), GETDATE(), 23) 2011-05-09
SELECT CONVERT(varchar(100), GETDATE(), 24) 09:15:33
SELECT CONVERT(varchar(100), GETDATE(), 25) 2011-05-09 09:15:33.140
SELECT CONVERT(varchar(100), GETDATE(), 100) 05 9 2011 9:15AM
SELECT CONVERT(varchar(100), GETDATE(), 101) 05/09/2011
SELECT CONVERT(varchar(100), GETDATE(), 102) 2011.05.09
SELECT CONVERT(varchar(100), GETDATE(), 103) 09/05/2011
SELECT CONVERT(varchar(100), GETDATE(), 104) 09.05.2011
SELECT CONVERT(varchar(100), GETDATE(), 105) 09-05-2011
SELECT CONVERT(varchar(100), GETDATE(), 106) 09 05 2011
SELECT CONVERT(varchar(100), GETDATE(), 107) 05 09, 2011
SELECT CONVERT(varchar(100), GETDATE(), 108) 09:16:38
SELECT CONVERT(varchar(100), GETDATE(), 109) 05 9 2011 9:16:38:543AM
SELECT CONVERT(varchar(100), GETDATE(), 110) 05-09-2011
SELECT CONVERT(varchar(100), GETDATE(), 111) 2011/05/09
SELECT CONVERT(varchar(100), GETDATE(), 112) 20110509
SELECT CONVERT(varchar(100), GETDATE(), 113) 09 05 2011 09:17:19:857
SELECT CONVERT(varchar(100), GETDATE(), 114) 09:17:19:857
SELECT CONVERT(varchar(100), GETDATE(), 120) 2011-05-09 09:17:19
SELECT CONVERT(varchar(100), GETDATE(), 121) 2011-05-09 09:17:19.857
SELECT CONVERT(varchar(100), GETDATE(), 126) 2011-05-09T09:17:19.857
SELECT CONVERT(varchar(100), GETDATE(), 130) 6 ????? ??????? 1432 9:17:19:857AM
SELECT CONVERT(varchar(100), GETDATE(), 131) 6/06/1432 9:17:19:857AM
2.2 使用datename函式 也可以實現該效果
datename(year,lr.StartTime)+'-'+datename(month,lr.StartTime)+'-'+datename(day,lr.starttime)
另外,DateName()還可以獲得到小時、時間、秒、星期幾、第幾周,分別如下:
Select Datename(hour,GetDate())
Select Datename(minute,GetDate())
Select Datename(second,GetDate())
Select Datename(weekDay,GetDate())
Select Datename(week,GetDate())
拼接日期為字串 ,以便在c#程式碼中直接使用。
相關文章
- Oracle資料庫日期格式轉換操作Oracle資料庫
- SQLserver中用convert函式轉換日期格式SQLServer函式
- sqlserver資料庫日期如何格式化-日期轉換字串SQLServer資料庫字串
- SQL Server資料庫中Date/Time 時間格式的轉換SQLServer資料庫
- js日期轉換工具類(仿oracle to_char,to_date等語法)JSOracle
- java Date日期類和SimpleDateFormat日期類格式JavaORM
- 對 oracle 資料庫日期格式,以及對日期操作的理解Oracle資料庫
- 資料庫中Date型別的計算 DATEDIFF() 函式資料庫型別函式
- sql server-Convert DateTime 格式的轉換資料SQLServer
- SQL SERVER 日期格式化、日期和字串轉換SQLServer字串
- 日期格式的轉換
- sql 日期格式轉換SQL
- ABAP日期格式轉換
- 醫學影象資料格式和格式轉換
- C#日期格式轉換C#
- Oracle 中的 TO_DATE 和 TO_CHAR 函式 日期處理Oracle函式
- char(16)列的資料轉換
- to_char函式格式轉換參考函式
- 記錄資料庫所有ddl操作資料庫
- (轉)修改oracle預設日期格式 nls_date_formatOracleORM
- JavaScript 時間日期格式轉換JavaScript
- SimpleDateFormat日期格式轉換的使用ORM
- 資料庫表格轉換成XML格式方法!資料庫XML
- Oracle中Date的各種格式轉換Oracle
- js將時間日期字串轉換為時間日期Date物件JS字串物件
- cmdb 查詢資料庫操作記錄資料庫
- to_date、to_char及格式化大小寫 nvl nvl2 nullifNull
- Hive資料格式轉換Hive
- JS日期格式化轉換方法JS
- 修改資料庫的日期顯示格式資料庫
- JS資料型別轉換記錄JS資料型別
- excel日期格式轉換中,怎樣將“/”轉換成“-”Excel
- javascript如何將時間日期轉換為Date物件JavaScript物件
- mysql資料庫修改新增Date格式列的方法MySql資料庫
- Oracle21c資料庫安裝問題記錄Oracle資料庫
- layui tree資料格式轉換UI
- JavaScript和json對資料格式的轉換JavaScriptJSON
- js日期格式簡單轉換程式碼JS