这是MySQL 5实力养成暨评量里的5-07.‘哪一个函式可将一个时间作时区的转换?’
答案:(C) CONVERT_TZ()
[adsense][/adsense]
函数的名称其实很直觉,但是有些系统会把直觉的英文再缩写,这一个CONVERT_TZ的函式就是如此,所以ㄚ琪不会只好猜CONVERT_TIMEZONE了,结果当然就是倒扣一分。有关MySQL 日期和时间函数我们已经提过了,就不再复制赘述,仅专注在CONVERT_TZ的使用即可。
CONVERT_TZ(dt,from_tz,to_tz)
CONVERT_TZ() 将时间日期值dt 从from_tz 给出的时区转到to_tz给出的时区,然后返回结果值。关于可能指定的时区的详细论述,请参见5.10.8节,“MySQL伺服器时区支援”。若自变数无效,则这个函数会返回 NULL。
在从若from_tz 到UTC的转化过程中,该值超出 TIMESTAMP 类型的被支援范围,那么转化不会发生。关于TIMESTAMP 范围的论述,请参见11.1.2节,“日期和时间类型概述”。
mysql> SELECT CONVERT_TZ(’2004-01-01 12:00:00',’GMT’,’MET’);
-> ’2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ(’2004-01-01 12:00:00',’+00:00',’+10:00');
-> ’2004-01-01 22:00:00'
注释:若要使用诸如 ’MET’或 ’Europe/Moscow’之类的指定时间区,首先要设置正确的时区资料表。详细说明见5.10.8节,“MySQL伺服器时区支援”。
