mysql 特定国家/地区的日期格式
mysql date format regarding to a specific country
我使用了 MySQL 函数 DATE_FORMAT(table.field, '%d %b %Y')
,其中第一个参数是我的列,第二个是根据日期逻辑格式化列的模式。
这个函数的输出是英文的:
10 Feb 2014
我想将区域设置语言设置为 fr_FR 这将输出正确的字符串:
10 Fév 2014
问题:如何在查询之前更改数据库的区域设置语言(以便根据另一种语言进行更改)?
您需要在 MySQL 服务器中设置正确的语言设置。看这里:MySQL DATE_FORMAT() function
用于日月名称和缩写的语言由 lc_time_names
系统变量的值控制(第 10.7 节,“MySQL 服务器区域设置支持”)。
运行 在您的查询之前:
SET lc_time_names = 'fr_FR';
然后设置回原来的值lc_time_names
;
试试这个,希望对您有所帮助:
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
我使用了 MySQL 函数 DATE_FORMAT(table.field, '%d %b %Y')
,其中第一个参数是我的列,第二个是根据日期逻辑格式化列的模式。
这个函数的输出是英文的:
10 Feb 2014
我想将区域设置语言设置为 fr_FR 这将输出正确的字符串:
10 Fév 2014
问题:如何在查询之前更改数据库的区域设置语言(以便根据另一种语言进行更改)?
您需要在 MySQL 服务器中设置正确的语言设置。看这里:MySQL DATE_FORMAT() function
用于日月名称和缩写的语言由 lc_time_names
系统变量的值控制(第 10.7 节,“MySQL 服务器区域设置支持”)。
运行 在您的查询之前:
SET lc_time_names = 'fr_FR';
然后设置回原来的值lc_time_names
;
试试这个,希望对您有所帮助:
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