当前位置: 首页 > news >正文

【Oracle11g SQL详解】日期和时间函数:SYSDATE、TO_DATE、TO_CHAR 等

日期和时间函数:SYSDATETO_DATETO_CHAR

在 Oracle 数据库中,日期和时间函数用于处理日期和时间数据。它们在记录创建时间、分析时间间隔、格式化输出等场景中非常重要。本文将详细讲解常用的日期和时间函数及其应用。


一、SYSDATE:获取当前系统日期和时间

1. 功能

SYSDATE 返回数据库服务器当前的日期和时间。

2. 语法
SYSDATE
3. 示例
SELECT SYSDATE AS current_date
FROM dual;
-- 结果:2024-12-11 14:30:45
4. 提取日期的部分信息

可以结合其他函数提取日期部分:

SELECT EXTRACT(YEAR FROM SYSDATE) AS current_year,EXTRACT(MONTH FROM SYSDATE) AS current_month,EXTRACT(DAY FROM SYSDATE) AS current_day
FROM dual;
-- 结果:2024 | 12 | 11

二、TO_DATE:将字符串转换为日期

1. 功能

TO_DATE 函数将字符串格式的日期转换为 Oracle 的日期类型。

2. 语法
TO_DATE(string, format_model)
  • string:待转换的日期字符串。
  • format_model:指定字符串的格式。
3. 常用格式符号
格式符描述
YYYY四位年份
MM两位月份
DD两位日期
HH2424 小时制小时
MI分钟
SS
4. 示例
SELECT TO_DATE('2024-12-11 14:30:45', 'YYYY-MM-DD HH24:MI:SS') AS converted_date
FROM dual;
-- 结果:2024-12-11 14:30:45

三、TO_CHAR:将日期转换为字符串

1. 功能

TO_CHAR 函数将日期类型的数据转换为指定格式的字符串。

2. 语法
TO_CHAR(date, format_model)
  • date:要转换的日期。
  • format_model:指定转换后的字符串格式。
3. 示例

将当前日期转换为指定格式:

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS formatted_date
FROM dual;
-- 结果:2024-12-11 14:30:45

获取星期和月份名称

SELECT TO_CHAR(SYSDATE, 'DAY') AS week_day,TO_CHAR(SYSDATE, 'MONTH') AS month_name
FROM dual;
-- 结果:WEDNESDAY | DECEMBER

四、日期加减运算

Oracle 支持对日期进行加减操作,直接以天为单位计算。

1. 日期加法

增加 10 天:

SELECT SYSDATE + 10 AS future_date
FROM dual;
-- 结果:2024-12-21
2. 日期减法

减去 5 天:

SELECT SYSDATE - 5 AS past_date
FROM dual;
-- 结果:2024-12-06
3. 计算两个日期的差值

返回天数:

SELECT SYSDATE - TO_DATE('2024-12-01', 'YYYY-MM-DD') AS days_difference
FROM dual;
-- 结果:10

五、ADD_MONTHS:增加或减少月份

1. 功能

ADD_MONTHS 函数用于在指定日期上增加或减少指定的月数。

2. 语法
ADD_MONTHS(date, number_of_months)
3. 示例
SELECT ADD_MONTHS(SYSDATE, 3) AS future_date,ADD_MONTHS(SYSDATE, -3) AS past_date
FROM dual;
-- 结果:2025-03-11 | 2024-09-11

六、LAST_DAYNEXT_DAY

1. LAST_DAY:获取指定月份的最后一天
SELECT LAST_DAY(SYSDATE) AS last_day_of_month
FROM dual;
-- 结果:2024-12-31
2. NEXT_DAY:获取指定日期之后的下一个特定星期几
SELECT NEXT_DAY(SYSDATE, 'FRIDAY') AS next_friday
FROM dual;
-- 结果:2024-12-13

七、日期格式化的常见应用

1. 获取年、月、日
SELECT TO_CHAR(SYSDATE, 'YYYY') AS year,TO_CHAR(SYSDATE, 'MM') AS month,TO_CHAR(SYSDATE, 'DD') AS day
FROM dual;
-- 结果:2024 | 12 | 11
2. 获取时、分、秒
SELECT TO_CHAR(SYSDATE, 'HH24') AS hour,TO_CHAR(SYSDATE, 'MI') AS minute,TO_CHAR(SYSDATE, 'SS') AS second
FROM dual;
-- 结果:14 | 30 | 45

八、综合实例

1. 计算两日期间的完整月数差
SELECT MONTHS_BETWEEN(TO_DATE('2025-06-01', 'YYYY-MM-DD'), TO_DATE('2024-12-01', 'YYYY-MM-DD')) AS months_difference
FROM dual;
-- 结果:6
2. 自动设置某日期为本月的第一天
SELECT TRUNC(SYSDATE, 'MM') AS first_day_of_month
FROM dual;
-- 结果:2024-12-01
3. 格式化输出为自定义字符串
SELECT TO_CHAR(SYSDATE, '"Today is" DDTH MONTH, YYYY') AS custom_format
FROM dual;
-- 结果:Today is 11TH DECEMBER, 2024

九、小结

  • SYSDATE 提供当前日期和时间。
  • TO_DATE 将字符串转换为日期,格式灵活多样。
  • TO_CHAR 用于将日期转为自定义格式的字符串。
  • 日期计算和运算支持天数、月份、年等单位,结合函数如 ADD_MONTHSLAST_DAY 等,可以轻松实现复杂的日期处理。

通过熟练使用这些函数,可以大幅提升日期和时间操作的效率和准确性。

相关文章:

【Oracle11g SQL详解】日期和时间函数:SYSDATE、TO_DATE、TO_CHAR 等

日期和时间函数:SYSDATE、TO_DATE、TO_CHAR 等 在 Oracle 数据库中,日期和时间函数用于处理日期和时间数据。它们在记录创建时间、分析时间间隔、格式化输出等场景中非常重要。本文将详细讲解常用的日期和时间函数及其应用。 一、SYSDATE:获…...

VSCode设置字体

参考文章:【面向小白】vscode最佳实践(2)—— 字体设置(fira code更纱黑体),这篇文章末尾给了安装字体的链接。 配置的字体还是很好看的。 ‘Fira Code Retina’, ‘Sarasa Mono Sc’ 需要注意的一个点&am…...

shell编程入门之提取字符并设置rtc时间

awk用法 awk是一款文本处理工具,通常在Unix和Linux操作系统中使用,用于以行为单位对文本进行处理和操作。它可以读取输入文本,对其进行处理,生成报表、统计信息等,并将结果输出到标准输出设备中。 它主要有以下特点&…...

react 不可变数据更新(Immutable Update)合并对象 类似与Java 的BeanUtils.copyProperties‌

{ ...state, // 保留原有的 state 的其他部分data: { ...state.data, // 保留 state.data 中的其他字段...action.payload // 使用 action.payload 覆盖 state.data 中需要更新的字段} }这段代码是 Redux 中常见的一种状态更…...

Linux GCC基础用法⑦

在 CentOS 7 系统中使用 GCC 与编写 99 乘法表 一、GCC 简介 GCC(GNU Compiler Collection)是一套功能强大的编程语言编译器,在 CentOS 7 系统中广泛用于编译 C、C等多种编程语言的程序。它能够将源代码转换为可执行文件,让计算…...

PyTorch 切片运算 (Slice Operator)

PyTorch 切片运算 {Slice Operator} 1. [:, -1, :]2. [:, [-1], :]References 1. [:, -1, :] https://github.com/karpathy/llama2.c/blob/master/model.py import torchlogits torch.arange(1, 16) print("logits.shape:", logits.shape) print("logits:\n&…...

SpringSecurity Oauth2 -账号密码实现多因子身份认证

1. 密码策略问题 CREATE TABLE t_storage (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 自增主键,nameSpace varchar(64) NOT NULL COMMENT 隔离字段,groupId varchar(128) NOT NULL COMMENT 分组,比如不同app,dataId varchar(64) NOT NULL COMMENT 数据存储id…...

【CSS in Depth 2 精译_071】11.4 思考字体颜色的对比效果 + 11.5 本章小结

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 11 章 颜色与对比】 ✔️ 11.1 通过对比进行交流 11.1.1 模式的建立11.1.2 还原设计稿 11.2 颜色的定义 11.2.1 色域与色彩空间11.2.2 CSS 颜色表示法 11.2.2.1 RGB…...

Y3编辑器文档4:触发器1(对话、装备、特效、行为树、排行榜、不同步问题)

文章目录 一、触发器简介1.1 触发器界面1.2 ECA语句编辑及快捷键1.3 参数设置1.4 变量设置1.5 实体触发器1.6 函数库与触发器复用 二、触发器的多层结构2.1 子触发器(在游戏内对新的事件进行注册)2.2 触发器变量作用域2.3 复合条件2.4 循环2.5 计时器2.6…...

趣味编程:猜拳小游戏

1.简介 这个系列的第一篇以猜拳小游戏开始,这是源于我们生活的灵感,在忙碌的时代中,我们每个人都在为自己的生活各自忙碌着,奔赴着自己所走向的那条路上,即使遍体鳞伤。 但是,生活虽然很苦,也不…...

软件工程 概述

软件 不仅仅是一个程序代码。程序是一个可执行的代码,它提供了一些计算的目的。 软件被认为是集合可执行的程序代码,相关库和文档的软件。当满足一个特定的要求,就被称为软件产品。 工程 是所有有关开发的产品,使用良好定义的&…...

CountDownLatch阻塞后countDown未执行会如何?

背景 某项目封装了 Kafka 消费者 API,根据传递的消费者线程数,创建 N 个消费者线程同时消费对应 topic 的数据,并在线程启动后收集到全局列表中,方便在程序调用 stop 流程时逐个停止。 主控类在创建 Kafka 消费线程时使用了 Cou…...

k8s,operator

相对更加灵活和编程友好的管理“有状态应用”的解决方案,它就是:Operator 会议一下有状态应用: 比如数据库集群,数据挂载需要有顺序维护拓扑关系的应用 使用statefulSet这个对象来描述。 CRD又是什么? Operator的工作…...

使用 pyperclip 进行跨平台剪贴板操作

简介:pyperclip 是一个轻量级的 Python 库,支持在不同操作系统(Windows、macOS、Linux)中进行剪贴板的复制和粘贴。这个库的设计简单易用,非常适合需要频繁进行文本复制粘贴操作的场景。 历史攻略: 使用f…...

20 设计模式之职责链模式(问题处理案例)

一、什么是职责链模式 职责链模式是一种行为型设计模式,它允许将请求沿着处理者的链进行传递,直到有一个处理者能够处理它为止。换句话说,它将请求的发送者和接收者解耦,使得多个对象都有机会处理这个请求,从而避免了将…...

SpringBoot3集成MybatisPlus3和knife4j(swagger3兼容增强版)

针对Swagger2规范和OpenAPI3规范的说明: 在Spring Boot框架中,Knife4j对于服务端将Spring的开放接口解析成Swagger2或者OpenAPI3规范的框架,也是依赖的第三方框架组件。说明如下: Swagger2规范:依赖Springfox项目,该项目目前几乎处于停更状态,但很多老项目依然使用的是该…...

【MIT-OS6.S081作业1.3】Lab1-utilities primes

本文记录MIT-OS6.S081 Lab1 utilities 的primes函数的实现过程 文章目录 1. 作业要求primes (moderate)/(hard) 2. 实现过程2.1 代码实现 1. 作业要求 primes (moderate)/(hard) Write a concurrent version of prime sieve using pipes. This idea is due to Doug McIlroy, in…...

游戏引擎学习第35天

开场介绍 今天的任务是继续改进一个虚拟的瓦片地图系统,使其适合处理更大的世界。我们希望这个系统能管理大范围的游戏世界,其中包含按需存储的小区域。昨天,我们介绍了“内存区域”的概念,用于管理持久性存储。我们计划今天继续…...

learn-(Uni-app)输入框u-search父子组件与input输入框(防抖与搜索触发)

1.父子组件u-search &#xff08;1&#xff09;父组件 <!-- 父组件 --> <template> <div><searchBar change"change" search"search"></searchBar> </div> </template> <script> // 子组件搜索 import…...

设置IMX6ULL开发板的网卡IP的两种方法(临时生效和永久有效两种方法)

设置开发板网卡的IP&#xff0c;有两种方法。 方法一&#xff1a;临时生效 第一种方式是临时设置&#xff0c;只有本次有效&#xff0c;重启后又要重新设&#xff0c;命令为&#xff1a; ifconfig eth0 192.168.5.9设置成功后可以使用ifconfig命令来查看已设置的 IP 地址。 …...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...

从实验室到产业:IndexTTS 在六大核心场景的落地实践

一、内容创作&#xff1a;重构数字内容生产范式 在短视频创作领域&#xff0c;IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色&#xff0c;生成的 “各位吴彦祖们大家好” 语音相似度达 97%&#xff0c;单条视频播放量突破百万…...

高抗扰度汽车光耦合器的特性

晶台光电推出的125℃光耦合器系列产品&#xff08;包括KL357NU、KL3H7U和KL817U&#xff09;&#xff0c;专为高温环境下的汽车应用设计&#xff0c;具备以下核心优势和技术特点&#xff1a; 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计&#xff0c;确保在…...

项目进度管理软件是什么?项目进度管理软件有哪些核心功能?

无论是建筑施工、软件开发&#xff0c;还是市场营销活动&#xff0c;项目往往涉及多个团队、大量资源和严格的时间表。如果没有一个系统化的工具来跟踪和管理这些元素&#xff0c;项目很容易陷入混乱&#xff0c;导致进度延误、成本超支&#xff0c;甚至失败。 项目进度管理软…...

OCC笔记:TDF_Label中有多个相同类型属性

注&#xff1a;OCCT版本&#xff1a;7.9.1 TDF_Label中有多个相同类型的属性的方案 OCAF imposes the restriction that only one attribute type may be allocated to one label. It is necessary to take into account the design of the application data tree. For exampl…...

n8n:解锁自动化工作流的无限可能

在当今快节奏的数字时代&#xff0c;无论是企业还是个人&#xff0c;都渴望提高工作效率&#xff0c;减少重复性任务的繁琐操作。而 n8n&#xff0c;这个强大的开源自动化工具&#xff0c;就像一位智能的数字助手&#xff0c;悄然走进了许多人的工作和生活&#xff0c;成为提升…...

ai流式文字返回前端和php的处理办法

PHP后端 php端主要是用到ob_flush和flush&#xff0c;头改为流式。 基本代码 代码如下&#xff1a; <?php header(Content-Type:text/event-stream); header(Cache-Control:no-cache); header(Connection:keep-alive);function streamPostRequest($url,$data){$chcurl_…...