為了將DateTime轉換為字符串,我們可以使用CONVERT() 和CAST()函數。這些函數用於將值(任何數據類型)轉換為指定的數據類型。
CONVERT()函數
用法:
CONVERT(VARCHAR, datetime [,style])
- VARCHAR - 它代表字符串類型。
- datetime - 它可以是計算要轉換為字符串的日期或日期時間值的表達式。
- style - 它指定日期的格式。它的值是由 SQL Server 預定義的。樣式參數是可選的。
CAST()函數
用法:
CAST(EXPRESSION AS DATATYPE(length))
- EXPRESSION - 表示需要轉換的值。
- DATATYPE - 這是我們要將表達式轉換為的數據類型。
- length - 它表示結果數據類型的長度(可選)。
沒有 Century (YY) |
With 世紀(YYYY) |
Standard |
Format |
---|---|---|---|
- |
0 or 100 |
日期時間的默認值 and smalldatetime |
年月日 hh:miAM(或 PM) |
1 |
101 |
U.S. |
1 = 毫米/日/年 101 = 月/日/年 |
2 |
102 |
ANSI |
2 = yy.mm.dd 102 = yyyy.mm.dd |
3 |
103 |
英國/法國 |
3 = 日/月/年 103 = 日/月/年 |
4 |
104 |
German |
4 = dd.mm.yy 104 = dd.mm.yyyy |
5 |
105 |
Italian |
5 = dd-mm-yy 105 = dd-mm-yyyy |
6 |
106 |
- |
6 = 日月年 106 = 日月年 |
7 |
107 |
- |
7 = 周一,年月日 107 = 周一,年,日 |
8 |
108 |
- |
時:分:秒 |
在下麵的示例中,我們將DateTime轉換為不同格式的字符串。
第 1 步:創建數據庫
詢問:
CREATE DATABASE Product_order;
圖:創建數據庫
第 2 步:創建表
現在,我們需要在數據庫中創建一個表。為此,我們將使用 CREATE 語句。
詢問:
CREATE TABLE orders (prod_id INT, prod_name VARCHAR(255), order_date DATE, PRIMARY KEY(prod_id));
圖:創建表orders
步驟 3:將數據插入表中
在此步驟中,我們將在訂單表中插入數據。為了插入數據,我們將使用 INSERT 語句。
詢問:
INSERT INTO orders VALUES (101, 'iPhone', '2020-07-20'), (102, 'iPad', '2018-01-01'), (103, 'iWatch', '2019-03-15'), (104, 'iMac', '2016-05-13');
圖:向訂單表插入數據
步驟 4:為了驗證表的內容,我們將使用 SELECT 語句。
SELECT * FROM orders;
圖:Select語句查詢
輸出:
圖:訂單表
步驟5:使用CONVERT()函數
詢問:
/*Declaring DATETIME as dt*/ DECLARE @dt DATETIME = (SELECT order_date FROM orders WHERE prod_id = 101); /*SELECT statement is used to print the s1 message*/ SELECT CONVERT(VARCHAR(20),@dt,0) s1;
圖:CONVERT()函數查詢
輸出:
圖:輸出
詢問:
在此,我們將樣式參數更改為 1。同樣,您可以使用上表中的不同樣式參數值。
/*Declaring DATETIME as dt*/ DECLARE @dt DATETIME = (SELECT order_date FROM orders WHERE prod_id = 103); /*SELECT statement is used to print the s1 message*/ SELECT CONVERT(VARCHAR(20),@dt,1) s1;
圖:CONVERT()函數查詢
輸出:
圖:輸出
第6步:使用CAST()函數
詢問:
/*Declaring DATETIME as dt*/ DECLARE @dt DATETIME = (SELECT order_date FROM orders WHERE prod_id = 102); /*SELECT statement is used to print the s1 message*/ SELECT CAST(@dt AS DATETIME) s1;
圖:CAST()函數查詢
輸出:
圖:輸出
相關用法
- SQL Datetime轉Date用法及代碼示例
- SQL Datetime轉Epoch用法及代碼示例
- SQL Date轉Datetime用法及代碼示例
- SQL DROP和TRUNCATE的區別用法及代碼示例
- SQL NUMERIC轉NVARCHAR用法及代碼示例
- SQL LTRIM()用法及代碼示例
- SQL UPPER()用法及代碼示例
- SQL RTRIM()用法及代碼示例
- SQL FLOAT轉NVARCHAR用法及代碼示例
- SQL Epoch Time轉Date用法及代碼示例
- SQL VARCHAR轉INT用法及代碼示例
- SQL NOT用法及代碼示例
- SQL IN用法及代碼示例
- SQL NOT EQUAL用法及代碼示例
- SQL IS NOT NULL用法及代碼示例
- SQL IS NULL用法及代碼示例
- SQL LIKE用法及代碼示例
- SQL Server CHARINDEX()用法及代碼示例
- SQL Server DIFFERENCE()用法及代碼示例
- SQL Server IIF()用法及代碼示例
- SQL Server ASCII()用法及代碼示例
- SQL Server LOG()用法及代碼示例
- SQL Server LOG10()用法及代碼示例
- SQL Server ATN2()用法及代碼示例
注:本文由純淨天空篩選整理自ankur035大神的英文原創作品 SQL Query to Convert Datetime to String。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。