簡體   English   中英

在SQL中顯示完整日期的月份

[英]Show month of a full date in SQL

我的數據庫中有一個列,其中填充了完整日期:(0000-00-00)我需要將此日期顯示為月份字符串(例如,1月)。

我在SQL QUERY上有太多選擇:

1當月份為'01'='1月'時創建一個案例(我認為這是最好的選擇,因為我可以隨后更改字符串但是我想要(例如葡萄牙語,首字母大寫)。我無法這樣做,我嘗試了substring,但是日期不喜歡substring語句。

2只顯示日期為月份:

MONTH(DT_CANCEL)

但是,我需要顯示字符串(1月)和上面只顯示01

我可以在SQL QUERY中顯示日期的完整月份名稱的最佳選項(以及如何)是什么?

使用MySQL。

您只需使用MonthName:

SELECT MONTHNAME('2009-05-18');

這將輸出May。

參考這里: https//www.w3resource.com/mysql/date-and-time-functions/mysql-monthname-function.php

在mysql中,您可以使用monthname

SELECT MONTHNAME(DT_CANCEL) from your_table;

MySQL的:

select date_format('2018-12-01','%M'); /* prints December*/

select date_format('2018-12-01','%b'); /* prints Dec*/

在Oracle中,使用TO_CHAR:

select TO_CHAR(SYSDATE, 'Month') FROM dual;

December 

如果您使用的是MS SQL Server,則無需編寫Case語句,請嘗試以下操作:

SET LANGUAGE Portuguese

SELECT UPPER(LEFT(DATENAME(month, getdate()),1))+LOWER(SUBSTRING(DATENAME(month, 
getdate()),2,LEN(DATENAME(month, getdate())))) 

如果要重置服務器的語言,可以通過運行以下腳本來查看別名列表:

SELECT * FROM sys.syslanguages

暫無
暫無

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

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