1. 程式人生 > >sqlserver中DATE型別的資料轉化 CONVERT

sqlserver中DATE型別的資料轉化 CONVERT

主要描述的是SQL Server使用convert取得datetime日期資料的實際操作流程,在實際操作中用SQL Server資料庫中用convert來獲取datetime日期資料,以下例項包含各種日期格式的轉換。

語句及查詢結果: 

  1. Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM  
  2. Select CONVERT(varchar(100), GETDATE(), 1): 05/16/0 

 SQL Server使用convert來取得datetime日期資料,以下例項包含各種日期格式的轉換 

語句及查詢結果: 

  1. Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM  
  2. Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06  
  3. Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16  
  4. Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06  
  5. Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06  
  6. Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06  
  7. Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06  
  8. Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06  
  9. Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46  
  10. Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM  
  11. Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06  
  12. Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16  
  13. Select CONVERT(varchar(100), GETDATE(), 12): 060516  
  14. Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937  
  15. Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967  
  16. Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47  
  17. Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157  
  18. Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM  
  19. Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16  
  20. Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47  
  21. Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250  
  22. Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM  
  23. Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006  
  24. Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16  
  25. Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006  
  26. Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006  
  27. Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006  
  28. Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006  
  29. Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006  
  30. Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49  
  31. Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM  
  32. Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006  
  33. Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16  
  34. Select CONVERT(varchar(100), GETDATE(), 112): 20060516  
  35. Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513  
  36. Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547  
  37. Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49  
  38. Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700  
  39. Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827  
  40. Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM  
  41. Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM 

說明:

SQL Server使用convert:

  1. 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 資料型別長度來截斷不需要的日期部分。

相關推薦

sqlserverDATE型別資料轉化 CONVERT

主要描述的是SQL Server使用convert取得datetime日期資料的實際操作流程,在實際操作中用SQL Server資料庫中用convert來獲取datetime日期資料,以下例項包含各種日期格式的轉換。 語句及查詢結果:  Select CONVERT(

Oracle獲取Date型別資料,沒有時分秒

oralce資料庫中,獲取Date型別資料,發現數據的格式為:“yyyy-mm-dd”,而不是“yyyy-mm-dd hh24:mi:ss” 1,使用JDBC從oracle資料庫中取Date型別資料,當使用getDate(“欄位名”)方法取值時,只能獲取到日期,而無法獲

java,返回的json資料Date型別格式的轉換

轉載自:http://blessht.iteye.com/blog/2018901 返回json資料時,資料庫中的Date型別是這種格式:"planTime":{"date":22,"day":6,"hours":0,"minutes":0,"month":3,"sec

解決easyui 顯示Date型別資料為[object Object],json格式化日期

javabean中 public class Ent{  /**   *   */  private static final long serialVersionUID = 456194500355659344L;      private String id;//主鍵

javaString型別資料Date型別資料相互轉換

//實體類 public class Bean {    public int id;  public String name;  public Date date;  public int getId() {   return id;  }  public void se

JavaDate型別詳解

一、Date型別的初始化 1、 Date(int year, int month, int date); 直接寫入年份是得不到正確的結果的。 因為java中Date是從1900年開始算的,所以前面的第一個引數只要填入從1900年後過了多少年就是你想要得到的年份。 月需要減1,日可以直接插入。 這種方法用的比

設定EntityFrameworkdecimal型別資料精度問題(EF預設將只會保留到2為精度)

原文:設定EntityFramework中decimal型別資料精度 EF中預設的decimal資料精度為兩位數,當我們資料庫設定的精度大於2時,EF將只會保留到2為精度。 e.g. 2.19990將會被儲存為2.20 1.解決方案一是網上找到常見的方法為重寫DbContext的OnMode

JSONObject序列化包含Date型別資料的Java物件

1、引入依賴包: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>

ORCALE資料庫Date型別資料用String型別接收收出現.0情況也就是顯示毫秒數

如: {    "createdate": "2018-11-28 14:53:24.0", } 但是資料庫中查詢結果並沒有毫秒數    解決方案     public void setCreat

【MyBatis】postgresqljson型別資料問號?問題

問題描述       有個需求是需要判斷某個text是否在json型別資料中,因此打算採用?操作符來實現。在Navicat中嘗試確實是可以的。如下:       因此,我在mapper檔案中就加入如下方法,但執行卻報錯:org.postgresql.util.

SqlServer裡XML型別資料的查詢

第一次接觸這種查詢,這裡做一個記錄後面再找時間慢慢完善。 簡單  SQL select XmlData.value('(/Items/WFItem)[1]','nvarchar(max)') as ever_code  from CONTRACT_CUSTOMER_F

Spring Boot 物件Date型別自段轉json時的格式問題解決

一、背景 今天一個同事諮詢如何解決後臺返回json時,Date型別的格式化如何解決。幫這個兄弟解決完後,覺得雖然很簡單,還是寫寫記錄下來,以後別人再問可以直接給連線了。 這位同事使用的是SpringBoot1.0框架。對這個問題1.0 和2.0沒有區別。 二、處理單個或

python—pandasDataFrame型別資料操作函式

python資料分析工具pandas中DataFrame和Series作為主要的資料結構. 本文主要是介紹如何對DataFrame資料進行操作並結合一個例項測試操作函式。 1)檢視DataFrame資料及屬性 df_obj = DataFrame() #建

mysql將timestamp型別轉換成date型別資料

語法格式如下:date_format(timestamp,'%Y-%m-%d %T') DATE_FORMAT() 函式用於以不同的格式顯示日期/時間資料。 DATE_FORMAT(date,format) :date 引數是合法的日期,format 規定日期/時間的輸出

spring boot restful介面傳遞或接收date型別資料

前言 我們在開發spring boot restful介面的時候,通常定義請求物件和返回物件,裡面可能會有各種型別的引數,如果需要傳遞或接收date型別的引數,發現呼叫的時候會報引數型別不匹配的錯誤,下面看如何解決 1、@JsonFormat註解 在請求引數定義date型別的

javadouble型別資料加減操作精度丟失問題及解決方法

double型別資料加減操作精度丟失問題 今天在專案中用到double型別資料加減運算時,遇到了一個奇怪的問題,比如1+20.2+300.03,理論上結果應該是321.23,其實結果並不是這樣。 public double add() {

OracleDate型別日期精度問題

背景分析 需要使用JasperReport統計出使用者交易資料,並生成報表,在根據日期(Date型別)進行統計資料的時候總是出現不科學的錯誤, 我使用的是SqlDeveloper這款資料庫連線工具,資料庫是Oracle 11g。 問題描述 我根據日期group by,

Springboot框架下Date型別資料上傳問題

問題場景:使用Springboot框架搭建服務,實現如下需求, 服務端使用實體類接收客戶端上傳具有相同結構的json資料資訊,其中實體類的屬性欄位中包含java.util.Date型別的屬性欄位。問題描述:1.由客戶端上傳的json資料中Date欄位格式為“2016-08-1

sql 轉換成yyyy-mm-dd格式和SqlServer得到當前日期(convert函式,getdate函式)

  如何用sql語言只獲得資料庫當前日期,且格式為"yyyy-mm-dd"? select convert(char(10),getdate(),120) select   *   from   表名   where   convert(char(10),欄位名,120

springMVC返回json資料date型別資料被轉成long型別

在專案的過程中肯定會遇到ajax請求,但是再用的過程中會發現,在資料庫中好好的時間型別資料:2017-05-04 17:52:24 在轉json的時候,得到的就不是時間格式了 而是145245121這