MYSQL lc_time_names问题

时间:2017-03-30 13:37:02

标签: mysql mysql-workbench

我想从Mysql中检索时间为'3:30''而不是'3:30 PM'(如.NET中的CultureInfo)

通过设置lc_time_names ='ar_EG',它仍然是相同的。

我在这里做了什么

SET lc_time_names = 'ar_EG';
SELECT TIME_FORMAT(NOW(),'%h:%i %p') AS 'Time'; 

img https://dev.mysql.com/doc/refman/5.7/en/locale-support.html

我不知道为什么0行会受到影响?任何帮助都非常感谢。

2 个答案:

答案 0 :(得分:1)

在您分享的MySQL Server Locale Support链接中,我们可以阅读:

  

lc_time_names系统变量指示的区域设置控制用于显示日期和月份名称和缩写的语言。此变量会影响 DATE_FORMAT() DAYNAME()MONTHNAME()函数的输出。

它没有说明TIME_FORMAT()或AM / PM。由于它似乎不起作用,我认为它不受支持:

SET lc_time_names = 'ar_EG';
SELECT DATE_FORMAT(NOW(), '%l %p, %r, %a, %b');
4 PM, 04:28:06 PM, خ, مار

答案 1 :(得分:0)

实现零行意味着实现零数据库行。您尚未更改数据。 set命令设置变量但不更改表数据。