管理不同时区的数据

简介:

一、设置时区

  • 数据库时区
    • 修改
      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';
    • 验证
      SELECT DBTIMEZONE FROM DUAL;
  • 会话时区
    • 修改
      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';
    • 验证
      SELECT SESSIONTIMEZONE FROM DUAL;

二、时间数据类型

函数 说明
CURRENT_DATE 语法:CURRENT_DATE()
说明:查询当前时间
current_date返回的是当前会话时间,而sysdate返回的是服务器时间。
current_date有时比sysdate快一秒,这可能是四舍五入的结果。
如果修改当前会话的时区,比如将中国的时区为东八区,修改为东九区,则current_date显示的时间为东九区时间,根据东加西减的原则,current_date应该比sysdate快一小时。

例句:

select current_date, sysdate from dual;

CURRENT_TIMESTAMP 语法:CURRENT_TIMESTAMP()
说明:以timestamp with time zone数据类型返回当前会话时区中的当前日期

例句:

SELECT CURRENT_TIMESTAMP  
  FROM DUAL;

LOCALTIMESTAMP 语法:LOCALTIMESTAMP()
说明:以本地timestamp数据类型返回当前会话时区中的当前日期

例句:

SELECT LOCALTIMESTAMP
  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;
例句:

例一:

SELECT EXTRACT(year FROM DATE '2011-05-17') "year", 
       EXTRACT(month FROM DATE '2011-05-17') "month", 
       EXTRACT(day FROM DATE '2011-05-17') "day" 
  FROM DUAL;

例二:

SELECT EXTRACT(day FROM dt2-dt1) "day", 
       EXTRACT(hour FROM dt2-dt1) "hour", 
       EXTRACT(minute FROM dt2-dt1) "minute", 
       EXTRACT(second FROM dt2-dt1) "second" 
FROM (SELECT TO_TIMESTAMP('2011-02-04 15:07:00',
                          'yyyy-mm-dd hh24:mi:ss') dt1, 
             TO_TIMESTAMP('2011-05-17 19:08:46',
                          'yyyy-mm-dd hh24:mi:ss') dt1 
      FROM DUAL);

FROM_TZ 语法:FROM_TZ(x,time_zone)
说明:把指定的时间戳和日期转换为timestamp with time zone类型

例句:

SELECT FROM_TZ(TO_TIMESTAMP('19880719','YYYYMMDD'),
               'America/Sao_Paulo')
  FROM DUAL;

TO_DSINTERVAL 语法:TO_DSINTERVAL(C)
说明:将符合特定格式的字符串C转换成INTERVALDAY TO SECOND类型的数据

例句:

SELECT SYSDATE + TO_DSINTERVAL('1000:00:00') A
  FROM DUAL;

TO_TIMESTAMP 语法:TO_TIMESTAMP(x[,format])
说明:把字串表达式X转换成timestamp类型可以使用format指定格式

例句:

SELECT TO_TIMESTAMP('19880719','YYYYMMDD')
  FROM DUAL;

TO_TIMESTAMP_TZ 语法:TO_TIMESTAMP_TZ(x[,format])
说明:把字串表达式X转换成timestamp with time zone类型可以使用format指定格式

例句:

SELECT TO_TIMESTAMP_TZ('1988-07-19 07:10:10.12320', 
                       'YYYY-MM-dd HH24:MI:SS.FF') A
  FROM DUAL;

TO_YMINTERVAL 语法:TO_YMINTERVAL(C)
说明:将符合特定格式的字符串C转换成INTERVALYEAR TO MONTH类型的数据

例句:

SELECT SYSDATE+TO_YMINTERVAL('01-13') A
  FROM DUAL;

TZ_OFFSET 语法:TZ_OFFSET(time_zone)
说明:按照最小时哈分钟返回time_zone的偏置时间

例句:

SELECT TZ_OFFSET('America/New_York')
  FROM DUAL;

目录
相关文章
|
XML 监控 网络协议
云深处绝影四足机器人协议学习解析
本文详细介绍并解析了云深处绝影X20四足机器人的通信协议,包括TCP服务端端口号、基于Service的请求/响应通信机制、通信帧结构、消息类型、常见的通信示例如获取状态和导航请求,以及运动控制的参数和命令。文中还提出了对协议中某些未明确说明或可能存在的问题的疑惑。
314 0
云深处绝影四足机器人协议学习解析
|
消息中间件 存储 Kafka
【Kafka】kafka维护消息状态的跟踪方法
【4月更文挑战第6天】【Kafka】kafka维护消息状态的跟踪方法
|
12月前
|
机器学习/深度学习 Web App开发 人工智能
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》这篇论文提出了一种基于YOLOv3-Tiny的轻量级目标检测模型Micro-YOLO,通过渐进式通道剪枝和轻量级卷积层,显著减少了参数数量和计算成本,同时保持了较高的检测性能。
387 2
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
|
存储 网络协议 算法
【华为HCIP | 高级网络工程师】刷题日记(3)
【华为HCIP | 高级网络工程师】刷题日记(3)
1059 0
|
12月前
|
安全 物联网 API
API技术之身份认证
【10月更文挑战第17天】身份认证是API安全的核心,确保API可信可控。
API技术之身份认证
|
12月前
|
存储 资源调度 JavaScript
vue.js【网络请求和状态管理】
vue.js【网络请求和状态管理】
|
运维 Kubernetes 负载均衡
震惊!容器化运维竟藏如此大招,容器调度与服务编排让你的软件部署 “逆天改命”
【8月更文挑战第31天】在数字化时代,容器化技术革新了软件开发与运维方式,其高效、灵活及可移植的特点为企业应用部署提供了全新方案。容器调度与服务编排作为核心环节,通过优化资源分配、提升系统可靠性和可扩展性,实现了自动化管理。Kubernetes 等工具不仅简化了容器调度,还通过 Deployment、Service、Ingress 等资源对象实现了复杂应用架构的自动化运维,大幅提高了资源利用率和系统稳定性,减少了人工干预,加速了企业数字化转型。
204 2
|
机器学习/深度学习 人工智能 数据可视化
东哥教你如何用Orange Ai pro为家里做一个垃圾分类检测机器
## 摘要 本文由东哥原创,介绍了使用Orange AI Pro开发板进行AI项目开发的体验。这款开发板主打强大的AI算力,搭载昇腾AI芯片,提供8-12TOPS的性能,媲美英伟达RTX3080显卡。它支持外接eMMC和4K显示器,适合实时视频流模型部署。作者详细阐述了从购买、烧录镜像到环境配置的过程,包括安装ACLLite库、模型转换工具ATC的使用,以及YOLOv5模型的转换和部署。文章还展示了如何建立一个垃圾检测项目,利用计算机视觉进行实时垃圾分类,并分享了性能体验,认为开发板在散热和噪音控制上表现良好,适合AI爱好者和开发者进行DIY项目。
|
存储 Java 程序员
Python和C++在内存管理方面有什么不同?
【7月更文挑战第2天】Python和C++在内存管理方面有什么不同?
241 0
|
图形学
【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏4(附项目源码)
【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏4(附项目源码)
284 0