簡體   English   中英

SQL將日期時間轉換為varchar

[英]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

.NET文檔中實際上提供了格式說明符的完整列表。


如果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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM