ข้ามไปที่เนื้อหาหลัก

การแปลงวันที่และเวลาโดยใช้ SQL Server

รูปแบบวันที่ของ SQL Server มีหลายรูปแบบใช้ตัวเลือกรูปแบบวันที่พร้อมกับฟังก์ชั่น เช่น

- ต้องการรูปแบบ YYYY-MM-DD ใช้คำสั่งคือ SELECT CONVERT(varchar, getdate(), 23)
ต้องการรูปแบบ MM/DD/YYYY ใช้คำสั่งคือ  SELECT CONVERT(varchar, getdate(), 1)  

ด้านล่างนี้เป็นรายการรูปแบบและตัวอย่างของผลลัพธ์  


DATE ONLY FORMATS
Format #QuerySample
1select convert(varchar, getdate(), 1)12/30/06
2select convert(varchar, getdate(), 2)06.12.30
3select convert(varchar, getdate(), 3)30/12/06
4select convert(varchar, getdate(), 4)30.12.06
5select convert(varchar, getdate(), 5)30-12-06
6select convert(varchar, getdate(), 6)30 Dec 06
7select convert(varchar, getdate(), 7)Dec 30, 06
10select convert(varchar, getdate(), 10)12-30-06
11select convert(varchar, getdate(), 11)06/12/30
12select convert(varchar, getdate(), 12)061230
23select convert(varchar, getdate(), 23)2006-12-30
101select convert(varchar, getdate(), 101)12/30/2006
102select convert(varchar, getdate(), 102)2006.12.30
103select convert(varchar, getdate(), 103)30/12/2006
104select convert(varchar, getdate(), 104)30.12.2006
105select convert(varchar, getdate(), 105)30-12-2006
106select convert(varchar, getdate(), 106)30 Dec 2006
107select convert(varchar, getdate(), 107)Dec 30, 2006
110select convert(varchar, getdate(), 110)12-30-2006
111select convert(varchar, getdate(), 111)2006/12/30
112select convert(varchar, getdate(), 112)20061230
TIME ONLY FORMATS
8select convert(varchar, getdate(), 8)00:38:54
14select convert(varchar, getdate(), 14)00:38:54:840
24select convert(varchar, getdate(), 24)00:38:54
108select convert(varchar, getdate(), 108)00:38:54
114select convert(varchar, getdate(), 114)00:38:54:840
DATE & TIME FORMATS
0select convert(varchar, getdate(), 0)Dec 12 2006 12:38AM
9select convert(varchar, getdate(), 9)Dec 30 2006 12:38:54:840AM
13select convert(varchar, getdate(), 13)30 Dec 2006 00:38:54:840AM
20select convert(varchar, getdate(), 20)2006-12-30 00:38:54
21select convert(varchar, getdate(), 21)2006-12-30 00:38:54.840
22select convert(varchar, getdate(), 22)12/30/06 12:38:54 AM
25select convert(varchar, getdate(), 25)2006-12-30 00:38:54.840
100select convert(varchar, getdate(), 100)Dec 30 2006 12:38AM
109select convert(varchar, getdate(), 109)Dec 30 2006 12:38:54:840AM
113select convert(varchar, getdate(), 113)30 Dec 2006 00:38:54:840
120select convert(varchar, getdate(), 120)2006-12-30 00:38:54
121select convert(varchar, getdate(), 121)2006-12-30 00:38:54.840
126select convert(varchar, getdate(), 126)2006-12-30T00:38:54.840
127select convert(varchar, getdate(), 127)2006-12-30T00:38:54.840
ISLAMIC CALENDAR DATES
130select convert(nvarchar, getdate(), 130)date output
131select convert(nvarchar, getdate(), 131)10/12/1427 12:38:54:840AM
นอกจากนี้เรายังสามารถจัดรูปแบบวันที่หรือเวลาโดยไม่ต้องแบ่งอักขระรวมถึงเชื่อมสตริงวันที่และเวลาได้ดังนี้
Sample statementOutput
select replace(convert(varchar, getdate(),101),'/','')12302006
select replace(convert(varchar, getdate(),101),'/','') + replace(convert(varchar, getdate(),108),':','')12302006004426


cr: mssqltips


ความคิดเห็น