簡體   English   中英

在SQL Server中格式化Datetime2

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

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