葡萄牙语MYSQL中的MONTHNAME

时间:2018-12-28 14:40:22

标签: mysql sql

我有一个巨大的查询(在PHP文件中),它从某些日期为我提供了月份名称:

CASE A.STATUS
WHEN 'Cancel' THEN LEFT(MONTHNAME(DT_CANCEL),3)
WHEN 'About to cancel' THEN LEFT(MONTHNAME(DATA_REGISTER),3)

END AS MONTH_CANCEL,

是否可以在MONTHANAME中插入我的语言?

类似:

WHEN 'Cancel' THEN SET LANGUAGE Portuguese LEFT(MONTHNAME(DT_CANCEL),3)

我不想为eveymonth编写案例以将“ Dec”转换为“ Dez”,依此类推,这将花费很长时间。

2 个答案:

答案 0 :(得分:2)

在运行查询之前,运行以下查询:

SET lc_time_names = 'pt_PT';

答案 1 :(得分:2)

不幸的是,在MySQL中,这不能在查询中动态完成。

从文档中:

  

月份名称使用的语言由lc_time_names系统变量控制。

您需要单独的SQL命令来更改设置:

SET lc_time_names = 'pt_PT';
SELECT MONTHNAME('2018-12-28') AS 'Month';

lc_time_names的值在MySQL会话的生存期内一直存在。