在sql中显示完整日期的月份

aamkag61  于 2021-06-15  发布在  Mysql
关注(0)|答案(5)|浏览(673)

我的数据库中有一列填充了完整日期:(0000-00-00)我需要将此日期显示为月份字符串(例如一月)。
我的sql查询在这里有太多选择:
我创建一个case,当month为'01'='一月'(我认为这是最好的选择,因为我可以随意更改字符串(以葡萄牙语为例,第一个字母大写)。我没能做到这一点,我尝试了子串,但日期不´我不喜欢子字符串语句。
2只需将日期显示为月份:

MONTH(DT_CANCEL)

但是,我需要显示字符串(一月),上面只显示输出01
在sql查询中显示日期的完整月份名称的最佳选项是什么(以及如何显示)?
使用mysql。

68bkxrlz

68bkxrlz1#

mysql数据库:

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

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

nafvub8i2#

在oracle中,用于\u char:

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

December
s5a0g9ez

s5a0g9ez3#

在mysql中,可以使用monthname

SELECT MONTHNAME(DT_CANCEL) from your_table;
xlpyo6sf

xlpyo6sf4#

您只需使用monthname:

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

这将输出五月。
此处引用:https://www.w3resource.com/mysql/date-and-time-functions/mysql-monthname-function.php

fdx2calv

fdx2calv5#

如果您使用的是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

相关问题