[英]SQL convert datetime to varchar
我想這樣將DATETIME轉換為VARCHAR(月/日/年):
10/09/2018 12:00:00.000
我嘗試使用
Convert(VARCHAR(MAX),[Date & Time Added]),121)
但它返回
yyyy-mm-dd hh:mi:ss.mmm
我需要帶/
格式的時間,我正在使用SQL Server 2012。
您可以使用FORMAT
函數:
SELECT FORMAT(GETDATE(), 'MM/dd/yyyy HH:mm:ss.fff')
-- 10/09/2018 00:58:52.557
如果FORMAT
函數不可用,您可以簡單地以已知格式進行格式化,然后使用字符串函數重新安排年,月,日和時間部分。 例如:
SELECT SUBSTRING(DateStr, 6, 2) + '/' + SUBSTRING(DateStr, 9, 2) + '/' + SUBSTRING(DateStr, 1, 4) + ' ' + SUBSTRING(DateStr, 12, 12)
FROM (
SELECT CONVERT(VARCHAR(23), GETDATE(), 126) -- ISO8601 / yyyy-mm-ddThh:mi:ss.mmm
) AS CA(DateStr)
-- 10/09/2018 01:12:50.833
SELECT CONVERT(VARCHAR(10), Date, 101) + ' ' + CONVERT(VARCHAR(12), Date, 114)
FROM (
SELECT GETDATE()
) AS CA(Date)
-- 10/09/2018 01:19:38:463
這通常是在表示層中完成的,但是如果需要在數據層中做到這一點,則可以使用FORMAT
( 此處的文檔 )
語法為: FORMAT ( value, format [, culture ] )
因此,在您的情況下(根據您的評論進行編輯,以添加AM / PM名稱) : FORMAT([Date & Time Added], 'dd/MM/yyy hh:mm:ss.fff tt')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.