Oracle 中的from_tz函数,可以将一个timstamp和timzone拼成一个timestamp with timezoneSql代码 SQLgt; select from_tz(to_time
Oracle 中的from_tz函数,可以将一个timstamp和timzone拼成一个timestamp with timezone
Sql代码
FROM_TZ(TO_TIMESTAMP('20090102
SQL> select from_tz(to_timestamp('20090102','YYYYMMDD'), 'America/Sao_Paulo') from dual;
FROM_TZ(TO_TIMESTAMP('20090102
--------------------------------------------------------------------------------
02-1月 -09 12.00.00.000000000 上午 AMERICA/SAO_PAULO
但如果这个timestamp在指定的时区内不存在(比如由于夏令时,时钟往前拨了一个小时),就会抛Exception
Sql代码
ORA-01878: 在日期时间或间隔中没有找到指定的字段 SQL> select from_tz(to_timestamp('20091101','YYYYMMDD'), 'America/Sao_Paulo') from dual;
select from_tz(to_timestamp('20091101','YYYYMMDD'), 'America/Sao_Paulo') from dual
ORA-01878: 在日期时间或间隔中没有找到指定的字段
解决办法嘛,,先取出时区的offset,用其构建好timestamp with timezone后再转回指定的时区就好了
Sql代码
FROM_TZ(TO_TIMESTAMP('20091101
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn