ORACLE日期相关语法

ORACLE日期处理大全 8 to_char(sysdate,'Month','NLS_DATE_LANGUAGE = American'), --九个字符表示的月份,右边用空格填补首字母大些。7 to_char(sysdate,'month','NLS_DATE_LANGUAGE = American'), --九个字符表示的月份,右边用空格填补全部小写。5 to_char(sysdate,'Mon','NLS_DATE_LANGUAGE = American'), --三位字符的月份缩写首字母大些。 阅读详情
AI摘要

本文详细介绍了Oracle数据库中常用的日期格式化函数如`to_char`,日期操作函数如`to_date`,`last_day`,`add_months`,`months_between`等,以及如何计算时间差和获取日期在一年中的位置。通过实例展示了如何在SQL查询中使用这些功能。

一、日期格式

1.1 日期格式
  1. YYYY-MM-DD 年-月-日
  2. HH24:MI:SS 时:分:秒(HH12、HH : 均为 12 小时制 )
select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') 当前时间 from dual;
1.2 注意:一周的第一天是周日
1.3 日期展示示例
SELECT SYSDATE 当前时间,
       trunc(SYSDATE) 今日0点,
       trunc(SYSDATE) + 6 / 24 当天6点,
       to_char(SYSDATE, 'YYYY') 四位年,
       to_char(SYSDATE, 'YY') 两位年,
       to_char(SYSDATE, 'MM') 月份,
       to_char(SYSDATE, 'MONTH') 月份带月份名,
       to_char(SYSDATE, 'MON') 月份带月份名简称,
       to_char(SYSDATE, 'RM') 月份罗马数字,
       to_char(SYSDATE, 'DDD') 当年第n天,
       to_char(SYSDATE, 'DD') 当月第n天,
       to_char(SYSDATE, 'D') 当周第n天,
       to_char(SYSDATE, 'DY') 星期几,
       to_char(SYSDATE, 'Q') 当年第n季度,
       to_char(SYSDATE, 'WW') 当年第n周,
       to_char(SYSDATE, 'W') 本月第n周,
       to_char(SYSDATE, 'HH24') 24小时制,
       to_char(SYSDATE, 'HH12') 12小时制
  FROM dual;

二、常用日期函数

2.1 字符串转换为日期:to_date()
select to_date('2023-11-07 16:35:33', 'yyyy-mm-dd hh24:mi:ss') result from dual;
2.2 返回特定日期月份的最后一天:last_day()
select last_day(sysdate) from dual;
2.3 增加或减去月份:add_months()
-- 增加一个月
select add_months(sysdate, 1) result from dual;
-- 减少一个月
select add_months(sysdate, -1) result from dual;
-- 前一天
select sysdate - 1 from dual;
-- 后一天
select sysdate + 1 from dual;
2.4 比较两个时间的月份差:months_between(date1, date2)
select months_between(sysdate, to_date('2023-02-22', 'yyyy-mm-dd')) from dual;

三、项目实例

3.1 加减时间
SELECT SYSDATE "当前时间",
       SYSDATE + 1 "加一天",
       SYSDATE - 1 "减一天",
       SYSDATE + (1 / 24) "加一小时",
       SYSDATE + (1 / 24 / 60) "加一分钟",
       SYSDATE + (1 / 24 / 60 / 60) "加一秒钟"
  FROM dual;
3.2 判断当前时间为星期几、几月份、年份
-- 判断周几:每周的第一天为星期天,星期一为第二天,所以要减一
SELECT to_char(SYSDATE, 'D') - 1 FROM dual; 
-- 直接输出今日周几
SELECT to_char(sysdate, 'day') FROM dual; 
-- 判断特定日期是星期几
select to_char(to_date('2023-11-11', 'YYYY-MM-DD'), 'DY') from dual;
-- 输出特定日期的月份、年份
SELECT to_char(to_date('2023-11-11', 'YYYY-MM-DD'), 'MM') 当前月份,
       to_char(to_date('2023-11-11', 'YYYY-MM-DD'), 'YYYY') 当前年份
  FROM dual;
SELECT trunc(SYSDATE, 'DD') 今天的开始,
       trunc(SYSDATE, 'iw') 这周的第一天,
       trunc(SYSDATE, 'MM') 这个月的第一天,
       trunc(SYSDATE, 'q') 这个季度的第一天,
       trunc(SYSDATE, 'YYYY') 今年第一天,
       extract(day from last_day(sysdate)) 当月天数
  FROM dual; 
3.3 两个时间的时间差
SELECT TIME 具体相差时间,
       floor(TIME) 相差天数,
       CASE
         WHEN TIME < 1 THEN
          trunc(TIME * 24)
         WHEN TIME > 1 THEN
          MOD(trunc(TIME * 24), 24)
         ELSE
          0
       END AS 小时差,
       trunc(TIME * 24 * 60 - 60 * trunc(TIME * 24)) 分钟差,
       trunc(TIME * 24 * 60 * 60 - 60 * trunc(TIME * 24 * 60)) 秒差
  FROM (SELECT to_number(SYSDATE - to_date('1999-02-22 20:20:20', 'YYYY-MM-DD hh24:mi:ss')) AS TIME
          FROM dual)
3.4 判断当前时间是今年的那一天
SELECT to_char(SYSDATE, 'D') - 1 本周第几天,
       to_char(SYSDATE, 'DD') 本月第几天,
       to_char(SYSDATE, 'DDD') 本年第几天
  FROM dual;
matinal:ORACLE日期时间格式化参数详解 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //改变时间-秒。 阅读详情

相关推荐

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

FROM dual;-- 结果:2024-12-31FROM dual;-- 结果:Today is 11TH DECEMBER, 2024。

weixin_39372311的博客 3269

Oracle sysdate to_char操作

Oracle的sysdate相关操作

auo13914972159的博客 5046

高速DAC时钟与配置实战:DAC5681Z硬件设计与寄存器编程详解

在高速数据转换系统中,时钟信号是决定系统性能的核心要素,其稳定性和纯净度直接影响数模转换器(DAC)的输出频谱纯度与动态范围。时钟电路的设计原理涉及信号完整性、阻抗匹配与直流偏置,而内部锁相环(PLL)和延迟锁相环(DLL)的配置则是实现精确时序控制的关键技术。这些技术的价值在于,它们共同保障了高速通信、雷达和任意波形生成等应用对信号实时性与精度的严苛要求。本文聚焦于德州仪器(TI)的DAC5681Z,深入解析其外部时钟输入电路的硬件设计要点,包括端接电阻的计算与选型,并详细拆解通过串行外设接口(SPI)对

weixin_30342363的博客 186

Oracle中时间日期转化函数to_date和to_char用法总结

在实际的工作中会经常会用到to_char()、to_date()函数来对时间、日期进行处理。 1、to_char()函数的用法  1.1、将时间日期按照指定的格式输出,得到的是字符串,而非date类型。 select sysdate,to_char(sysdate,'yyyy-mm-dd')from dual; select sysdate,to_char(sysdate,'yyyy/m

旺旺的博客 5万+

使用TMS320F28335控制四位共阳数码管

简要阐述利用F28335控制四位共阳数码管的整个过程,包括原理、思路、部分代码以及调试过程。

liujunhaozuishuai的博客 2656

基于FPGA与红外成像的眼动追踪系统设计与实现(教学向)

本文详细介绍了基于FPGA与红外成像的眼动追踪系统设计与实现。通过红外摄像头采集图像,利用FPGA进行实时图像处理和红外瞳孔追踪,结合Verilog编程实现多目标检测与瞳孔定位。该系统适用于嵌入式视觉教学,展示了硬件搭建、算法优化及实时显示的完整流程。

g5h6i7j的博客 823

oracle语法4-实际应用中相关问题(日期格式转换,值特殊处理)

1、将数字型日期转为字符串格式 20210201 转为 2021-02-01 select to_char(to_date('20210201','yyyymmdd') from dual 2、解决数据库某字段值为0.03,但是查询出来显示为.03的问题 select rtrim(to_char('0.03', 'fm9990.9999'), '.') from dual ; -- ‘0.03’ -- 如果不加fm的话,数值前面会多两个空格,显示为‘ 0.03’; ...

weixin_43779185的博客 347

[Linux项目实践] LCD Panel的硬件分析及调试

LCD硬件分析 项目使用3.5” TFT-LCD并且支持触摸控制。LCD的硬件可从几个方面学习:1)查看LCD的硬件连线。2)查看数据手册了解寄存器的控制。3)查看LCD DATASHEET了解硬件操作 1)LCD硬件连线 在图中有33个引脚,22根数据引脚和9根控制引脚。 LCD的工作原理:像素点是从左至右,从上至下逐个显示,LCD控制寄存器会从从内存中的framebuffer通

Terry_Yuan的技术专栏 3022

从json中获取嵌套对象值(Oracle中的json_value和MySQL中的JSON_EXTRACT) 以及Oracle和MySQL处理日期语法的不同

从json中获取嵌套对象值(Oracle中的json_value和MySQL中的JSON_EXTRACT) 以及Oracle和MySQL处理日期语法的不同

@素素~的博客 3858

C++游戏开发入门:从环境配置到第一个完整项目

C++ 作为游戏开发领域的关键语言,其学习路径常因语法枯燥而令初学者却步。以项目驱动的方式学编程,能帮助学习者将变量、循环、函数、指针等基础概念融入实际游戏逻辑中,获得即时反馈与完整项目经验。掌握合适的开发环境是高效实践的前提,例如在 Windows 下使用 VS Code 搭配 MinGW-w64 编译器,配合调试器与构建脚本,即可搭建轻量可扩展的 C++ 游戏开发工作流。此类课程通常面向无基础人群,从控制台小游戏逐步过渡到带游戏循环的完整作品,过程中还需关注性能观察、素材授权与版本管理。无论你是刚接触编

weixin_30621959的博客 540

基于LLM【M3】驱动的自动化攻击智能体AK(受控使用)

摘要:文章实测了基于大模型的目标驱动型云攻击智能体,展示攻击者仅需输入业务目标(如"窃取BigQuery数据")即可自动完成SSRF、令牌解析、数据导出等全链条攻击。研究发现:(1)攻击编排范式已从固定脚本升级为自适应路径;(2)传统基于IOC的防御与新型攻击存在结构性错位;(3)防御需转向元数据加固、跨服务行为序列检测和AI驱动的紫队演练。实验在授权靶场使用合成数据,验证了攻击智能体"监督者模型+专业执行组"的协作模式,强调防御体系需从单点检测升级为攻击链理解能力。

云上笛暮 306

(3)Oracle基本语法与常用函数

概述:dual表是一个单行单列的虚拟表,是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中。查看dual表的结构如下:select * from dual;查询得知dual是一个一行一列的表,数据类型为VERCHAR2(1),dual表中只有一个数据'X', Oracle有内部逻辑保证dual表中永远只有一条数据。dual表的常用用途:1、查看当前连接用户:select user from dual;

专注于技术分享的博主 1245

Spatial-ORMLLM: Improve Spatial Relation Understanding in the Operating Room with Multimodal Larg...

手术室(OR)中的精准空间建模是众多临床任务的基础,可为术中感知、风险规避及手术决策提供支持。现有方法虽利用大规模多模态数据集进行 latent 空间对齐,以隐式学习空间关系,但却忽视了多模态大型语言模型(MLLM)的3D能力。然而,这种方法存在两个问题:1)手术室通常缺乏多台视频和音频传感器,多模态3D数据难以获取;2)仅依赖易获取的2D数据训练,无法捕捉复杂场景中的细粒度细节。为解决这一问题,我们提出——首个针对手术室3D空间推理的大型视觉语言模型。

UnknownBody_2的博客 591

Oracle语法

- 用于定义和管理SQL数据库中的所有对象的语言,对数据库中的某些对象(database,table)进行管理。-- 包括的关键字有:create、alter、drop、truncate、comment、grant、revoke -- DDL操作是隐性提交的,不能rollback -- alter使用 -- 增加字段 alter table emp add(tname varchar(20)) -- 删除字段 (慎用!)没有回滚!

migina_2003的博客 1100

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Oracle时间函数

详细讲解oracle时间相关函数

chanyue123的博客 2612

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

浅析Oracle和SQL Server

 T-SQL是SQL Server的语言引擎,而Oracle的语言引擎却是PLSQL。这两种查询语言都对ANSI SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何对这些扩展进行转化以用在SQL Server环境下。 列的选择    用PLSQL执行数据查询的时候,FROM子句是必

Hackson的专栏 1343

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Oracle相关的函数

开发中常见的Oracle相关函数

接需求(Java),各个平台都同名,欢迎搜索关注 133

oracle sequrnce_Oracle学习记录1

1、current_date与sysdate区别在oracle中current_date与sysdate都是显示当前系统时间, 其结果基本相同,但是有三点区别:a. current_date返回的是当前会话时间,而sysdate返回的是服务器时间.b.current_date有时比sysdate快一秒,这可能是四舍五入的结果.c. 如果修改当前会话的时区,比如将中国的时区为东八区,修改为东九区,则...

weixin_39728572的博客 67

Oracle关于查询的知识点总结

查询 基本语法 做查询时分析 查询的数据:eg员工姓名 数据的来源 eg员工表 条件 where 语法 distinct 去重:对结果集中完全相同的数据去重,只显示相同数据的一个 伪列:不是数据结构中真实存在的但是可查询 数字 (可方便计算) select 1 from emp; 表达式(可以方便计算年薪什么的) select sal*12 from emp; 字符串(’'一对单引号表示字符串) select ename ,sal.deptno,'yjxxt'from

qq_46118014的博客 232

elif else if oracle_INFORMIX和ORACLE存储过程异同

在工作过程中涉及到过有时要进行INFORMIX和ORACLE之间的移植,有时应用需要既支持INFORMIX数据库又要支持ORACLE数据库,如果应用程序涉及到存储过程的话,就需要既熟悉INFORMIX存储过程的写法,又需要熟悉ORACLE存储过程的写法。笔者将在工作中总结的一些经验写出来与大家共享。建立存储过程的语法一、Informixcreate procedure proc_name( [.....

weixin_39747630的博客 403

SQL Server、Oracle和MySQL三种常用数据库的比较(一)

Oracle和MySQL的每条SQL语句都以分号结尾,而SQL Server语句末尾不需要分号。 对于包含空格的列名,SQL Server使用方括号括起来注明,如[Last Name]。MySQL使用重音符,如`Last Name`。Oracle则使用双引号,并且此时区分列名的大小写,如"Last Name"不等于"LAST NAME"。 ...

Sebastien23的博客 1285

oracle zck,DB2 转Oracle

DB2 转Oracle某天是星期几的函数DB2:select a.yyxe,a.zblb,a.ysdm,a.daynum,b.zjxm from zy_yspb a ,zy_zjlb b where a.ysdm=b.id and a.ksdm=10000 order by abs( a.daynum -DAYOFWEEK(current date)+1) desc,a.daynum,a....

weixin_36200896的博客 154

oracle 设置输出显示,oracle command window 输出显示output参数

oracle command window 输出显示output参数fmobile输入参数,msg输出参数--方法1variable msg varchar2(100)variable fmobile varchar2(100):='13424242890'exec smsrun.PKG_SETNEIZHI.p_Whynomt(fmobile,msg)print msg--方法2set serve...

weixin_35903223的博客 868

DB2 转Oracle

 DB2 转Oracle 某天是星期几的函数DB2: select a.yyxe,a.zblb,a.ysdm,a.daynum,b.zjxm  from zy_yspb a ,zy_zjlb b where a.ysdm=b.id and  a.ksdm=10000 order by abs( a.daynum -DAYOFWEEK(current   date)+1) desc,a.dayn

tobeistdo的专栏 853

oracle入门1

不定长字符串:varchar(n)/varchar2(n) n:表示字符串的最大长度,如果小于n,则默认以实际长度在内存中占用。定长字符串:char(n) n:表示字符串的最大长度,如果小于n,则默认以n的长度在内存中占用。小数:number(m,n) m:表示数字长度(包含小数点),n:表示小数精度。语法: create table 表名(字段名1 数据类型(长度)约束条件,日期:date 将数据以日期格式存入数据库中。字段名2 数据类型(长度)约束条件,字段名n 数据类型(长度)约束条件。

JUNLLLKLKMN的博客 313
上一篇: window.location对象实例详解
下一篇: JS-Number数字类型详解
懒羊羊我小弟
博客等级 码龄7年 4427粉丝 125原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒羊羊我小弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值