千家信息网

管理不同时区的数据

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、设置时区1、数据库时区a) 修改ALTER DATABASE SET TIME_ZONE = '-05:00';ALTER DATABASE SET TIME_ZONE = dbtimezone;
千家信息网最后更新 2026年11月01日管理不同时区的数据

一、设置时区

1、数据库时区
 a) 修改
  ALTER DATABASE SET TIME_ZONE = '-05:00';
  ALTER DATABASE SET TIME_ZONE = dbtimezone;
  ALTER DATABASE SET TIME_ZONE = local;
  ALTER DATABASE SET TIME_ZONE = 'America/New_York';
 b) 验证
  SELECT DBTIMEZONE FROM DUAL;
2、会话时区
 a) 修改
  ALTER SESSION SET TIME_ZONE = '-05:00';
  ALTER SESSION SET TIME_ZONE = dbtimezone;
  ALTER SESSION SET TIME_ZONE = local;
  ALTER SESSION SET TIME_ZONE = 'America/New_York';
 b) 验证
  SELECT SESSIONTIMEZONE FROM DUAL;

二、时间数据类型

函数说明
CURRENT_DATE语法:CURRENT_DATE()
说明:查询当前时间
current_date返回的是当前会话时间,而sysdate返回的是服务器时间。
current_date有时比sysdate快一秒,这可能是四舍五入的结果。
如果修改当前会话的时区,比如将中国的时区为东八区,修改为东九区,则current_date显示的时间为东九区时间,根据东加西减的原则,current_date应该比sysdate快一小时。
例句:
  1. select current_date, sysdate from dual;
CURRENT_TIMESTAMP语法:CURRENT_TIMESTAMP()
说明:以timestamp with time zone数据类型返回当前会话时区中的当前日期
例句:
  1. SELECT CURRENT_TIMESTAMP
  2. FROM DUAL;
LOCALTIMESTAMP语法:LOCALTIMESTAMP()
说明:以本地timestamp数据类型返回当前会话时区中的当前日期
例句:
  1. SELECT LOCALTIMESTAMP
  2. FROM DUAL;
EXTRACT语法:
EXTRACT (
{ YEAR | MONTH | DAY | HOUR | MINUTE | SECOND }
| { TIMEZONE_HOUR | TIMEZONE_MINUTE }
| { TIMEZONE_REGION | TIMEZONE_ABBR }
FROM { date_value | interval_value } )
说明:
我们只可以从一个date类型中截取 year,month,day(date日期的格式为yyyy-mm-dd);
我们只可以从一个 timestamp with time zone 的数据类型中截取TIMEZONE_HOUR和TIMEZONE_MINUTE;
例句:
例一:
  1. SELECT EXTRACT(year FROM DATE '2011-05-17') "year",
  2. EXTRACT(month FROM DATE '2011-05-17') "month",
  3. EXTRACT(day FROM DATE '2011-05-17') "day"
  4. FROM DUAL;
例二:
  1. SELECT EXTRACT(day FROM dt2-dt1) "day",
  2. EXTRACT(hour FROM dt2-dt1) "hour",
  3. EXTRACT(minute FROM dt2-dt1) "minute",
  4. EXTRACT(second FROM dt2-dt1) "second"
  5. FROM (SELECT TO_TIMESTAMP('2011-02-04 15:07:00',
  6. 'yyyy-mm-dd hh34:mi:ss') dt1,
  7. TO_TIMESTAMP('2011-05-17 19:08:46',
  8. 'yyyy-mm-dd hh34:mi:ss') dt1
  9. FROM DUAL);
FROM_TZ语法:FROM_TZ(x,time_zone)
说明:把指定的时间戳和日期转换为timestamp with time zone类型
例句:
  1. SELECT FROM_TZ(TO_TIMESTAMP('19880719','YYYYMMDD'),
  2. 'America/Sao_Paulo')
  3. FROM DUAL;
TO_DSINTERVAL语法:TO_DSINTERVAL(C)
说明:将符合特定格式的字符串C转换成INTERVALDAY TO SECOND类型的数据
例句:
  1. SELECT SYSDATE + TO_DSINTERVAL('1000:00:00') A
  2. FROM DUAL;
TO_TIMESTAMP语法:TO_TIMESTAMP(x[,format])
说明:把字串表达式X转换成timestamp类型可以使用format指定格式
例句:
  1. SELECT TO_TIMESTAMP('19880719','YYYYMMDD')
  2. FROM DUAL;
TO_TIMESTAMP_TZ语法:TO_TIMESTAMP_TZ(x[,format])
说明:把字串表达式X转换成timestamp with time zone类型可以使用format指定格式
例句:
  1. SELECT TO_TIMESTAMP_TZ('1988-07-19 07:10:10.12320',
  2. 'YYYY-MM-dd HH24:MI:SS.FF') A
  3. FROM DUAL;
TO_YMINTERVAL语法:TO_YMINTERVAL(C)
说明:将符合特定格式的字符串C转换成INTERVALYEAR TO MONTH类型的数据
例句:
  1. SELECT SYSDATE+TO_YMINTERVAL('01-13') A
  2. FROM DUAL;
TZ_OFFSET语法:TZ_OFFSET(time_zone)
说明:按照最小时哈分钟返回time_zone的偏置时间
例句:
  1. SELECT TZ_OFFSET('America/New_York')
  2. FROM DUAL;
例句 类型 语法 时间 数据 时区 格式 日期 字符 字符串 小时 表达式 东九 验证 四舍五入 函数 原则 数据库 服务器 结果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳市人人互联网科技有限公司 广东猪兼强互联网科技有限公司 科技金融是不是互联网金融 科技平台互联网 互联网与未来科技 艾特科技互联网 融贸通互联网科技 科技互联网创业计划书 成都仁贤领冠互联网科技有限公司 安控科技rtu产品工业互联网 茂名市互联网科技产业园 贵州叶脉互联网科技有限公司所属行业 未来五年的互联网科技 米聚互联网科技南京有限公司排面 玉溪新华互联网科技好不好 皮皮虾互联网科技有限公司 互联网风格科技公司名称 信承诺互联网科技有限公司 互联网科技平台产品运营 安徽零酒互联网科技有限公司 互联网科技公司的优势 互联网属科技 互联网 科技创新 喔噻互联网科技 猪兼强互联网科技 亿人帮互联网科技 深圳前海聚择互联网科技有限公司 河南猎农互联网科技有限公司 广州市恰铎互联网科技有限公司 新氧科技和美国互联网有关系吗
0