问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle数据库的tochar和todate区别

发布网友 发布时间:2022-04-29 07:00

我来回答

2个回答

懂视网 时间:2022-05-03 08:34

oracle 中 TO_DATE 函数的时间格式,以 2008-09-10 23:45:56 为例。

Oracle中日期的格式

Year(年):

格式 说明 显示值 备注
yy two digits(两位年) 08
yyy three digits(三位年) 008
yyyy four digits(四位年) 2008

Month(月):

格式 说明 显示值 备注
mm number(两位月) 09
mon abbreviated(字符集表示) 9月 若是英文版,则显示sep
month spelled out(字符集表示) 9月 若是英文版, 则显示 september

Day(日):

格式 说明 显示值 备注
dd number(当月第几天) 10
ddd number(当年第几天) 254
dy abbreviated(当周第几天简写) 星期三 若是英文版, 则显示 wed
day spelled out(当周第几天全写) 星期三 若是英文版, 则显示 wednesday
ddspth spelled out thirteenth 格式后缀 SP:相应日期部分的英文拼写 TH:相应日期部分日的序号,即在表示日的数字后加”th”

Hour(时):

格式 说明 显示值 备注
hh two digits(12小时进制) 11
hh24 two digits(24小时进制) 23

Minute(分):

格式 说明 显示值 备注
mi two digits(60进制) 45

Second(秒):

格式 说明 显示值 备注
ss two digits(60进制) 56

其他:

格式 说明 显示值 备注
Q digit(季度) 3
WW digit(当年第几周) 37
W digit(当月第几周) 2

说明:

12小时格式下时间范围为: 1:00:00 – 12:59:59(12 小时制下的 12:59:59 对应 24 小时制下的 00:59:59) ;24小时格式下时间范围为: 0:00:00 – 23:59:59

Oracle中日期格式的转化

  1. 日期和字符串格式的转换(to_date,to_char)
--日期格式转换为字符串
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; 
select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年 
select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月 
select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日 
select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时 
select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分 
select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒
--字符串转换为日期格式
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual//

2.求某天是星期几

--查询
select to_char(to_date('2015-12-13','yyyy-mm-dd'),'day') from dual;
--输出
星期三
--查询
select to_char(to_date('2015-12-13','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
--输出
sunday

设置日期语言的方式:

ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';

也可以这样:

select to_date('2015-12-13','yyyy-mm-dd','NLS_DATE_LANGUAGE = American') from dual;

3.计算两个日期之间的天数

select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;

因此,你也可以计算两个日期之间毫秒数或当前日期的毫秒数

--计算两个日期之间的毫秒数
select (sysdate - to_date('1970-01-01','yyyy-mm-dd'))* 86400000 from dual;

注:上面的计算需要根据时区进行调整,差别为8/24天,也就是8小时。

4.不同时区的处理

select new_time(date,timezone1,timezone2) from dual;

函数说明:

  • 根据date在timezone1时区的时间,返回对应的在timezone2时区对应的时间;
  • 参数说明:

  • date:日期时间型表达式;
  • timezone1:旧时区;
  • timezone2: 新时区;
  • 时区参数:

    大西洋标准时间: AST或ADT 
    阿拉斯加_夏威夷时间: HST或HDT 
    英国夏令时:  BST或BDT 
    美国山区时间: MST或MDT 
    美国中央时区: CST或CDT 
    新大陆标准时间: NST 
    美国东部时间: EST或EDT 
    太平洋标准时间: PST或PDT 
    格林威治标准时间: GMT 
    Yukou标准时间: YST或YDT 

    5.月份加减

    --add_months(date,n):返回date加上n个月后的新日期
    select sysdate ,add_months(sysdate,3) from dual;

    6.获取指定日期所属季度

    select to_char(to_date('2019-12-26','yyyy-mm-dd'),'Q') from dual;

    本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:Oracle中的TO_DATE和TO_CHAR函数以及日期处理;

    Oracle中的TO_DATE和TO_CHAR函数以及日期处理

    标签:min   日期时间   oracl   字符串转换   英文   若是   who   org   ber   

    热心网友 时间:2022-05-03 05:42

    tochar是把日期或数字转换为字符串
    todate是把字符串转换为数据库中得日期类型
    转换函数
    TO_CHAR
    使用TO_CHAR函数处理数字
    TO_CHAR(number,'格式')
    TO_CHAR(salary,’$99,999.99’);
    使用TO_CHAR函数处理日期
    TO_CHAR(date,’格式’);
    TO_NUMBER
    使用TO_NUMBER函数将字符转换为数字
    TO_NUMBER(char[,'格式'])
    TO_DATE
    使用TO_DATE函数将字符转换为日期
    TO_DATE(char[,'格式'])
    数字格式格式
    9代表一个数字
    0强制显示0
    $放置一个$符
    L放置一个浮动本地货币符
    .显示小数点
    ,显示千位指示符
    日期格式
    格式控制描述
    YYYY、YYY、YY分别代表4位、3位、2位的数字年
    YEAR年的拼写
    MM数字月
    MONTH月的全拼
    MON月的缩写
    DD数字日
    DAY星期的全拼
    DY星期的缩写
    AM表示上午或者下午
    HH24、HH1212小时制或24小时制
    MI分钟
    SS秒钟
    SP数字的拼写
    TH数字的序数词
    “特殊字符”假如特殊字符
    HH24:MI:SSAM15:43:20PM
    DD“OF”MONTH12OFOCTOBER
    DDSPTHfourteenth
    Date的格式’18-5月-84’
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    我家300多k的网速为什么玩cf总是很迟钝,连切枪都很慢 CF切换枪的速度很慢 ...东西需要输入apple ID密码 我不知道怎么办?更新微信需要appleID_百... ...一遍id苹果手机的每次更新软件都需要输入id和密码请问怎么解决_百度... ...ID 我不知道密码是什么,也不懂怎么申请,想下个软件都下不了... 微信直播王者荣耀有收益吗 王者荣耀新手主播能挣多少 华为是如何进入手机市场的? ...用的那种安在船边上承鱼竿的那个座子中文叫什么?就是下图中的那个... 放在哪里不动钓鱼的叫什么? oracle中如何将long型的数据转换为char型 蘑菇的做法,素炒蘑菇怎么做好吃?素炒蘑菇的家常做法 素蘑菇怎么炒 蘑菇炒什么 吃什么可以治疗流行感冒? 双孔插座开关,是单相电还是双相电? 求问稳糖app是跟糖尿病相关的app吗?软件(APP)管理血糖比较好? 三相电开关线怎么接 稳糖app可靠吗? 带开关插座关后为什么用电笔试了双相有电? 稳糖APP里的胰岛素泵售后好吗?app里都有哪些品牌的胰岛素泵? 利用热功当量原理制作的仪器有哪些? 墙壁上两个开关一个插座怎么接电有? 请问糖尿病人用稳糖APP好不好? 大型搅拌器主要应用在哪些工作领域? 这个电开关怎么接线呢 混凝试验搅拌器的技术要求 用过稳糖APP的朋友说一下稳糖app好吗? 注册美国商标需要什么具体的手续?需要美国律师吗? 220v双相电机接H丫2一15型倒顺开关怎么个接法? 椰子鞋350黑白配色大概多少一双 椰子鞋换底多少钱 oracle中的时间处理函数to_char和to_date谁的效率好些了 Oracle中两个to_date相减能得到天数吗 在oracle使用to_char函数查询emp表中每年入职的人数。 oracle 数据类型转换 to_char to_number to_date 使用方式!!_百度知... ORACLE中to_char函数中的日期格式怎么定义 oracle中日期函数转换问题? 梦见老公开车上山,又想倒回来拉我 梦见老公开四轮头上坡没上去倒下来了 梦见跟老公开车上跟高的路没有开上去又退下来了 梦见开车爬坡越来越陡最后爬不上去了,坡上有人,我却要倒退了。 梦见老公开车从高山上翻下来 孕妇梦见老公开车爬高坡 梦见老公开车到悬崖峭壁上无法前进也无法后退 英雄联盟符石碎片打大乱斗可不可以得? LOL中的符石可以从哪些模式得来,极地大乱斗能吗 lol新出的海克斯科技战利品库中,能否在极地大乱斗中获得免费传送门和符石? 苹果手机id抵押在贷款公司,如果不还钱,会怎么样? 极地大乱斗能拿碎片吗