PL/SQL日期时间类型函数及运算
作者:mobiledu2502870073 | 来源:互联网 | 2022-02-23 06:41
PLSQL日期时间类型函数及运算
内部存储格式:
世纪、年、月、日、小时、分钟、秒
默认格式是:DD-MON-RR。
SYSDATE 返回当前的系统时间。
SELECT SYSDATE FROM DUAL;
对日期的数学运算
SELECT (SYSDATE-HIRE_DATE)/7 FROM TABLENAME WHERE ROWNUM;
数字列
ADD_MONTHS(date,x)函数,返回加上X月后的日期DATE的值。X可以是任意整数。如果结果的月份中所包含的 日分量少于DATE的月份的日分量,则返回结果月份的最后一天。如果不小于,则 结果与DATE的日分量相同。时间分量也相同。
CURRENT_DATE 以DATE类型返回会话时区当前的日期。这个函数同SYSDATE相似,除了SYSDATE不管当 会话时区。
CURRENT_TIMESTAMP[(precision)] 以TIMESTAMP WITH TIMEZONE 类型返回会话时区当前的日期。如果 指定precision,它指返回秒数的精度,缺省为6。
DBTIMEZONE 返回数据库的时区。
LAST_DAY(日期) 指定日期所在月份的最后一天的日期,这个函数可用来确定本月还有多少天。
LOCALTIMESTAMP[(precision)] 以TIMESTAMP类型返回会话时区的当前日期。如果指定precision,它指 返回秒数的精度,缺省为6 。
MONTHS_BETWEEN(离当前比较近的日期date1,以前的日期) 两个日期之间相差的月数(以日作为最小单位来计算的)。返回是相差的月数。如果date1和date2的日分量相同,或者这两个日期都分别是所在月的最后一天,那么返回结果是个整数。否则,返回结果包含一个分数,以一个月31天计算。
NEW_TIME(d,zone1,zone2)函数,当时区zone1中的日期和时间是D的时候,返回时区zone2中的日期和时间。
返回类型为DATE。zone1和zone2是字符字符串,另外的时区可在ORACLE9I中
通过查询V$TIMEZONE_NAMES得到。
NEXT_DAY (日期,星期几) 指定日期后将要遇到的后七天的某一天的日期。
ROUND(日期,‘MONTH/YEAR') 四舍五入得到新的日期。 保留位置是月和年
SESSIONTIMEZONE 返回当前会话的时区。返回类型是一个时区偏移或时区片名的字符字符串。如果指 定格式,则与 ALTER SESSION 语句中的格式相同。
SYS_EXTRACT_UTC(datetime) 从提供的DATETIME中以UTC(Coordinated Universal Time)返回时间。
DATETIME必须包含一个时区。
SYSTIMESTAMP 以TIMESTAMP WITH TIMEZONE 返回当前的日期和时间。当在分布式SQL语句中使用的时 候,返回本地数据库的日期和时间。
TRUNC(日期,‘MONTH/YEAR') 截取
TZ_OFFSET(timezone) 以字符字符串返回提供的timezone和UTC之间的偏移量。timezone可以被指定为时 区名或'+/-HH:HI'格式表示的偏移量。也可使用SESSIONTIMEZONE和 DBTIMEZONE函数,返回格式为'+/-HH:HI'。
字符字符串 时区
AST 大西洋标准时
ADT 大西洋夏令时
BST 白令标准时
BDT 白令夏令时
CST 中央标准时
CDT 中央夏令时
EST 东部标准时
EDT 东部夏令时
GMT 格林威治平均时
HST 阿拉斯加夏威夷标准时
HDT 阿拉斯加夏威夷夏令时
MST Mountain标准时
MDT Mountain夏令时
NST 纽芬兰标准时
PST 太平洋标准时
PDT 太平洋夏令时
YST YuKon标准时
YDT YuKon夏令时
日期和日期时间算术
运算 返回类型
结果
d1-d2 NUMBER
返回D1和D2之间相差的天数。该值是一个数值,其小数部分代表一天的几分之几。
dt1-dt2 INTERVAL
返回DT1和DT2之间的时间间隔。
i1-i2 INTERVAL
返回i1和i2之间的差距。
d1+d2 N/A
非法——仅能进行两个日期之间的相减。
dt1+dt2 N/A
非法——仅能进行两个日期之间的相减。
i1+i2 INTERVAL
返回i1和i2的和。
d1+n DATE
在D1上加上N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。
d1-n DATE
从D1上减去N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。
dt1+i1 DATETIME
返回DT1和I1的和。
dt1-i1 DATETIME
返回DT1和I1之间的差距。
i1*n INTERVAL
返回I1的N次方。
i1/n INTERVAL
返回I1除以N的值。
表中注:
D1和D2指日期值;
DT1和DT2指日期时间值;
I1和I2指时间间隔值;
N指数字值。
推荐阅读
-
本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ...
[详细]
蜡笔小新 2024-12-27 16:38:48
-
本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ...
[详细]
蜡笔小新 2024-12-28 11:00:33
-
-
本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ...
[详细]
蜡笔小新 2024-12-28 10:30:14
-
本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ...
[详细]
蜡笔小新 2024-12-28 08:39:55
-
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
-
本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ...
[详细]
蜡笔小新 2024-12-27 19:05:41
-
本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ...
[详细]
蜡笔小新 2024-12-27 17:40:42
-
本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ...
[详细]
蜡笔小新 2024-12-27 17:36:19
-
本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ...
[详细]
蜡笔小新 2024-12-27 17:05:37
-
本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ...
[详细]
蜡笔小新 2024-12-27 16:20:10
-
本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ...
[详细]
蜡笔小新 2024-12-27 14:24:17
-
本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ...
[详细]
蜡笔小新 2024-12-27 14:21:10
-
本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ...
[详细]
蜡笔小新 2024-12-27 14:09:23
-
在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ...
[详细]
蜡笔小新 2024-12-27 12:17:16
-
在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ...
[详细]
蜡笔小新 2024-12-27 09:27:14
-
mobiledu2502870073
这个家伙很懒,什么也没留下!