我想使用具有特定时区的NOW()
函数,例如GMT+8用于一个用户,GMT-2用于另一个用户。我怎样才能做到这一点?
我猜NOW()
的时间在某种程度上与SQL服务器的时区和时间有关,但我希望FN(GMT+8)总是在GMT+8中给我NOW()
,而与SQL服务器所在的时区无关。
小问题:如何显示/知道SQL server的当前时间?
NOW()
函数提供服务器本地时区中的当前时间。如果您想转换到不同的时区,可以使用CONVERT_TZ()
更新:
您可以使用每个连接的时区(不影响系统时区)并获得您想要的效果:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2011-06-03 22:40:51 |
+---------------------+
1 row in set (0.00 sec)
mysql> SET time_zone = '+08:00';
Query OK, 0 rows affected (0.00 sec)
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2011-06-04 10:41:15 |
+---------------------+
1 row in set (0.00 sec)