【发布时间】:2010-04-14 15:37:48
【问题描述】:
在这里寻找国际化错误。
mysql 是否有一个可以为每个会话设置的变量,这意味着每个连接都会知道它的客户端的时区并会据此采取行动。
如果确实存在这样的变量,我希望下面的 sql 语句将根据连接会话语言环境返回不同的值。
select date('2010-04-14') + 0;
谢谢你, 马克西姆。
【问题讨论】:
标签: mysql internationalization
在这里寻找国际化错误。
mysql 是否有一个可以为每个会话设置的变量,这意味着每个连接都会知道它的客户端的时区并会据此采取行动。
如果确实存在这样的变量,我希望下面的 sql 语句将根据连接会话语言环境返回不同的值。
select date('2010-04-14') + 0;
谢谢你, 马克西姆。
【问题讨论】:
标签: mysql internationalization
除非您指定时区,否则 MySQL 中的 DATE() 函数会返回服务器时间。
CONVERT_TZ() 很有用。让用户选择他们的时区并将其存储在服务器上,然后将日期列转换为用户的时间。
您可以为会话设置一个 time_zone 系统变量,默认为“SYSTEM”。
使用SET @@variable 设置值。
例如:
SET @@time_zone = 'GMT';
但是,服务器不会根据客户端的位置或时区自动设置此项。
【讨论】: