[英]Formatting Datetime2 in SQL Server
我正在嘗試將datetime2
格式化為yyyy-mm-dd hh:mm:ss
格式。
我嘗試了以下選項:
這引發了一個錯誤:
SELECT CONVERT(datetime2, 120);
這工作正常,但我需要類型為datetime2
的輸出
SELECT CONVERT(VARCHAR(19), GETDATE(), 120);
我該如何實現?
您在調用CONVERT()
函數時未指定要轉換為的數據類型,因此在您的情況下為SELECT CONVERT(datetime2, 120);
SQL Server將嘗試將值120
轉換為datetime2
,這就是為什么會出現此錯誤(您未提供)的原因
不允許從int數據類型到datetime2的顯式轉換。
要將CONVERT()
與日期和時間樣式一起使用,您需要傳遞
CONVERT(<datatype to convert to>, <Value to be converted>, <Style>)
。
SYSUTCDATETIME
返回一個datetime2
您可以將其轉換為
SELECT CONVERT(VARCHAR(20), SYSUTCDATETIME(), 120)
--Change SYSUTCDATETIME() with your column/variable
對於你說的
但是我需要類型為
datetime2
的輸出
DATETIME
沒有格式,它是一個二進制值,因此您需要將其轉換為格式化的字符串。 由於您需要返回DATETIME2
因此您需要保持原樣,並在表示層中進行格式化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.