我使用了MySQL函数DATE_FORMAT(table.field, '%d %b %Y')
,其中第一个参数是我的列,第二个是根据日期逻辑格式化列的模式。
此功能的输出是英文:
10 Feb 2014
我想将语言环境语言设置为 fr_FR ,这将输出正确的字符串:
10 Fév 2014
问题:如何在查询之前更改数据库的语言环境语言(为了根据其他语言进行更改)?
答案 0 :(得分:3)
您需要在MySQL服务器中设置正确的语言设置。看这里:MySQL DATE_FORMAT() function
用于日期和月份名称和缩写的语言由lc_time_names
系统变量的值控制(第10.7节“MySQL服务器区域设置支持”)。
在查询之前运行此命令:
SET lc_time_names = 'fr_FR';
然后将其设置回原始值lc_time_names
;
答案 1 :(得分:0)
尝试一下,希望对您有所帮助
SELECT
CONCAT(DATE_FORMAT(CURDATE(), '%d'), " ",
CASE
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Jan' THEN '01'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Feb' THEN '02'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Mar' THEN '03'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Apr' THEN '04'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'May' THEN '05'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Jun' THEN '06'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Jul' THEN '07'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Aug' THEN '08'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Sep' THEN '09'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Oct' THEN '10'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Nov' THEN '11'
WHEN DATE_FORMAT(CURDATE(), '%b') = 'Dec' THEN '12'
END, " ",
DATE_FORMAT(CURDATE(), '%Y')) AS DATE