oracle 字符串日期转指定格式日期,Oracle和Sql 日期格式与字符串格式相互转换

oracle 字符串日期转指定格式日期,Oracle和Sql 日期格式与字符串格式相互转换日期格式转换为字符类型 Oracle 类型日期格式转换字符串类型 1 date 转换为字符串 to char 日期 转换格式 即把给定的日期按照 转换格式 转换 转换的格式 表示 year 的 y 表示年的最后一位 yy 表示年的最后 2 位 yyy 表示年的最后 3 位 yyyy 用 4 位数表示年表示 month 的 mm 用 2 位数字表示月 mon 用简写形式比如 11 月或者 nov month 用全称比如

日期格式转换为字符类型

Oracle 类型日期格式转换字符串类型

1.date 转换为 字符串

to_char(日期,”转换格式” ) 即把给定的日期按照“转换格式”转换。

转换的格式:

表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年

表示month的:mm 用2位数字表示月;mon 用简写形式 比如11月或者nov ;month 用全称 比如11月或者november

表示day的:dd 表示当月第几天;ddd表示当年第几天;dy 当周第几天 简写 比如星期五或者fri;day当周第几天 全写

比如星期五或者friday。

表示hour的:hh 2位数表示小时 12进制; hh24 2位数表示小时 24小时

表示minute的:mi 2位数表示分钟

表示second的:ss 2位数表示秒 60进制

表示季度的:q 一位数 表示季度 (1-4)

另外还有ww 用来表示当年第几周 w用来表示当月第几周。

24小时制下的时间范围:00:00:00-23:59:59

12小时制下的时间范围:1:00:00-12:59:59

比如:

select to_char(sysdate,’yy-mm-dd hh24:mi:ss’) from dual //显示:08-11-07 13:22:42

select to_date(‘2005-12-25,13:25:59’,’yyyy-mm-dd,hh24:mi:ss’) from dual //显示:2005-12-25 13:25:59

而如果把上式写作:select to_date(‘2005-12-25,13:25:59’,’yyyy-mm-dd,hh:mi:ss’) from dual,则会报错,因为小时hh是12进制,13为非法输入,不能匹配。

补充:

当前时间减去7分钟的时间

select sysdate,sysdate – interval ‘7’ MINUTE from dual

当前时间减去7小时的时间

select sysdate – interval ‘7’ hour from dual

当前时间减去7天的时间

select sysdate – interval ’7’ day from dual

当前时间减去7月的时间

select sysdate,sysdate – interval ‘7’ month from dual

当前时间减去7年的时间

select sysdate,sysdate – interval ‘7’ year from dual

时间间隔乘以一个数字

select sysdate,sysdate – 8*interval ‘7’ hour from dual

Dual伪列

含义解释:

Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的select语句块中。

比如,我要获得系统时间,则用“select sysdate from dual” 则返回系统当前的时间:2008-11-07 9:32:49,不同系统可能返回日期的格式不一样。”select user from dual”则返回当前连接的用户。如果是”select 1+2 from dual”,则返回结果:3

2 字符串转为日期格式

to_date(“要转换的字符串”,”转换的格式”) 两个参数的格式必须匹配,否则会报错。

字符转换为 timestamp

to_timestamp(“转换的字符串”,’yyyy-mm-dd hh24:mi:ss.ff’)

SQL日期格式转换为字符串

一、sql server日期时间函数

Sql Server中的日期与时间函数

1. 当前系统日期、时间

select getdate()

dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值

例如:向日期加上2天

select dateadd(day,2,’2004-10-15’) –返回:2004-10-17 00:00:00.000

datediff 返回跨两个指定日期的日期和时间边界数。

select datediff(day,’2004-09-01’,’2004-09-18’) –返回:17

datepart 返回代表指定日期的指定日期部分的整数。

select DATEPART(month, ‘2004-10-15’) –返回 10

datename 返回代表指定日期的指定日期部分的字符串

select datename(weekday, ‘2004-10-15’) –返回:星期五

day(), month(),year() –可以与datepart对照一下

select 当前日期=convert(varchar(10),getdate(),120)

,当前时间=convert(varchar(8),getdate(),114)

select datename(dw,’2004-10-15’)

select 本年第多少周=datename(week,’2004-10-15’)

,今天是周几=datename(weekday,’2004-10-15’)

二、日期格式转换

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM

Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06

Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16

Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06

Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06

Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06

Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06

Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06

Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46

Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM

Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06

Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16

Select CONVERT(varchar(100), GETDATE(), 12): 060516

Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937

Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967

Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47

Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157

Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM

Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16

Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47

Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250

Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM

Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006

Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16

Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006

Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006

Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006

Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006

Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006

Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49

Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM

Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006

Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16

Select CONVERT(varchar(100), GETDATE(), 112):

Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513

Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547

Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49

Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700

Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827

Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM

函数 参数/功能

GetDate( ) 返回系统目前的日期与时间

DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1

DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期

DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值

DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称

参数 interval的设定值如下:

值 缩 写(Sql Server) Access 和 ASP 说明

Year Yy yyyy 年 1753 ~ 9999

Quarter Qq q 季 1 ~ 4

Month Mm m 月1 ~ 12

Day of year Dy y 一年的日数,一年中的第几日 1-366

Day Dd d 日,1-31

Weekday Dw w 一周的日数,一周中的第几日 1-7

Week Wk ww 周,一年中的第几周 0 ~ 51

Hour Hh h 时0 ~ 23

Minute Mi n 分钟0 ~ 59

Second Ss s 秒 0 ~ 59

Millisecond Ms – 毫秒 0 ~ 999

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176731.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午9:11
下一篇 2026年3月26日 下午9:12


相关推荐

  • Ajax技术的优缺点[通俗易懂]

    Ajax技术的优缺点[通俗易懂]1. 什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识)什么是ajax:AJAX是“AsynchronousJavaScriptandXML”的缩写。他是指一种创建交互式网页应用的网页开发技术。Ajax包含下列技术:基于web标准(standards-basedpresentation)XHTML+CSS的表示;使用DOM(Docu

    2025年6月1日
    4
  • 字符串匹配算法(BM)

    字符串匹配算法(BM)文章目录 1 BM Boyer Moore 算法 1 BM Boyer Moore 算法思想 有模式串中不存在的字符 那么肯定不匹配 往后多移动几位 提高效率 BM 原理 坏字符规则 好后缀规则

    2026年3月19日
    2
  • C++17 filesystem 文件系统(详解)

    C++17 filesystem 文件系统(详解)本文主要介绍 C 17 中的 filesystem 中的一些常用方法一 C 17 的支持 https blog csdn net article details 二 头文件及命名空间 include filesystem usingnamespa filesystem 三 常用类 path 类 说白 filesystem

    2026年3月17日
    2
  • Android 开机动画源码分析

    Android 开机动画源码分析Android系统在启动SystemServer进程时,通过两个阶段来启动系统所有服务,在第一阶段启动本地服务,如SurfaceFlinger,SensorService等,在第二阶段则启动一系列的Java服务。开机动画是在什么时候启动的呢?通过查看源码,Android开机动画是在启动SurfaceFlinger服务时启动的。SystemServer的main函数首先调用init1来启动本地服务,

    2022年5月15日
    37
  • 【密码学 | CTF】培根密码

    【密码学 | CTF】培根密码原理简述加密方式有两种 但说实话我没看懂第二种的 i j 和 u v 是怎么加密的呢 一解密岂不是乱了 但解密用第一种方式就行了 每五个切割 对照字典解密即可 难度很小 def 培根密码 解密 培根密码 字典 大写 A AAAAA AAAAA A B AAAAB AAAAB B C AAABA AAABA C D AAABB AAABB D

    2025年10月2日
    5
  • mysql索引详解「建议收藏」

    一、MySQL三层逻辑架构MySQL的存储引擎架构将查询处理与数据的存储/提取相分离。下面是MySQL的逻辑架构图:一、对比InnoDB与MyISAM1、存储结构MyISAM:每个MyISAM在磁盘上存储成三个文件。分别为:表定义文件、数据文件、索引文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD(MYData)。索引文件的扩展名是.MYI(MYIndex)。InnoDB:所有的表都保存在同一个数据文件中(也可能是多个

    2022年4月18日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号