簡體   English   中英

如何僅從SQL Server DateTime數據類型返回帶格式的日期

[英]How to return only the Date with formate from a SQL Server DateTime datatype

我知道有很多與此相關的問題。 我試圖找到我的答案,但找不到。

當我SELECT CONVERT(date, getdate()) from tblBlogs寫入SELECT CONVERT(date, getdate()) from tblBlogs

這個查詢給我這樣的結果2018-09-10

但我想到10, September, 2018

我希望有人能幫助我

如果您的SQL Server版本高於2012,則可以嘗試使用FORMAT函數。

SELECT FORMAT(getdate(),'dd,MMMM,yyy')

sqlifddle


或者,您可以使用DATENAME函數獲取名稱,作為您期望的結果。

SELECT DATENAME(day,Getdate())+','+DATENAME(month,Getdate())+','+DATENAME(year,Getdate())

sqlfiddle

結果

10,September,2018

嘗試使用FORMAT

您可以根據需要指定日期格式

SELECT FORMAT(getdate(),'dd,MMMM,yyy') from tblBlogs;

我個人嘗試避免FORMAT應用於數據集時可能會非常慢。 另一種方法是使用DATENAME

DATE NAME(DAY,GET DATE()) +', ' + DATENAME(MONTH,GETDATE()) + ', ' + DATENAME(YEAR,GETDATE())

但是,如果是顯示格式,通常最好在表示層而不是DBMS中進行。

如果您的SQL Server不支持FORMAT函數

SELECT CAST(DAY(@DateTime) AS VARCHAR) + ', ' + DATENAME(MONTH, @DateTime) + ', ' + CAST(YEAR(@DateTime) AS VARCHAR)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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