oracle格式化日期


--环境
select *from v$version;
SELECT SESSIONTIMEZONE FROM DUAL;
show parameter nls;

-- - / , . ; : 指定返回字串分隔符
select to_char(sysdate,'yyyy/mm/dd') from dual;
select to_char(sysdate,'yyyy:mm:dd') from dual;

--AD/A.D. 公元标识
select to_char(sysdate,'AD YYYY-MM-DD') from dual;

--BC/B.C. 公元标识
select to_char(sysdate,'BC YYYY-MM-DD') from dual;

--CC/SCC 世纪标识,S前缀指定如遇公元前的显示,会在显示前加(-)
select to_char(to_date('2014-8-3','YYYY-MM-DD'),'cc') from dual;

--D 指定日期在周中的数值(范围:1-7)
select to_char(to_date('2014-03-07','YYYY-MM-DD'),'D') from dual; --6
--DAY 指定日期在周中的名称
select to_char(to_date('2014-03-07','YYYY-MM-DD'),'DAY') from dual; --星期五

--DD 指定日期在当月中的天数(范围:1-31)
select to_char(to_date('2014-03-07','yyyy-mm-dd'),'DD') from dual; --07

--DDD 指定日期在当年中的天数(范围:1-366)
select to_char(to_date('2014-03-07','yyyy-mm-dd'),'DDD') from dual; --066

--MON 返回指定日期的月份简写
select to_char(sysdate,'MON') from dual;
--MONTH 返回指定日期的月份全称
select to_char(sysdate,'MONTH') from dual;

--YEAR/SYEAR 返回字符型年,此处 S前缀指定如遇公元前的显示,会在显示前加(-)
select to_char(sysdate,'YEAR') from dual; --TWENTY FOURTEEN
select to_char(sysdate,'SYEAR') from dual;

--YYYY/SYYYY 返回数字型年,此处S前缀指定如遇公元前的显示,会在显示前加(-)
select to_char(sysdate,'YYYY') from dual;
select to_char(sysdate,'SYYYY') from dual;

--MM 返回指定日期的月份(范围:1-12)
select to_char(sysdate,'MM') from dual;

--HH/HH12 小时(范围:1-12)
select to_char(sysdate,'HH') from dual;
select to_char(sysdate,'AMHH') from dual;

select to_char(sysdate,'HH12') from dual;
select to_char(sysdate,'AMHH12') from dual; --下午05

--HH24 小时(范围:0-23)
select to_char(sysdate,'HH24') from dual;
select to_char(sysdate,'AMHH24') from dual; --下午17

--MI 返回指定时间的分钟(范围0-59)
select to_char(sysdate,'MI') from dual;

-- SS 返回指定时间的秒数(范围:0-59)
select to_char(sysdate,'SS') from dual;

--FF[1-9] 返回毫秒数,可指定长度1-9,默认6位
select to_char(systimestamp,'ff') from dual;
select to_char(systimestamp,'ff4') from dual;

--Y,YYY 返回有逗号分隔显示的年
select to_char(sysdate,'y,yyy') from dual;

--W 返回指定日期在当月中的第X周(范围:1-5)
select to_char(to_date('2007-6-18','yyyy-mm-dd'),'w') from dual;
select to_char(sysdate,'W') from dual

--WW 返回指定日期在当年中的第X周(范围:1-53)
select to_char(to_date('2007-6-18','yyyy-mm-dd'),'WW') from dual;
select to_char(sysdate,'WW') from dual;

--RM 以罗马数字形式返回月份(范围I-XII)
select to_char(sysdate,'RM') from dual;

--Q 返回指定日期的季度(范围:1-4)
select to_char(sysdate,'q') from dual;




--数字
Select TO_CHAR(1.0123) FROM DUAL ;
SELECT TO_CHAR(0.123,'0.0000') FROM DUAL;

--FM去除空格
Select TO_CHAR(10.12,'FM099.999') FROM DUAL ; --FM 去除空格
Select TO_CHAR(10.12,'FM999.999') FROM DUAL ;
Select TO_CHAR(123.0233,'FM9999999.0099') FROM DUAL;

select to_char(389999.00,'9,999,999') from dual;

--$ 字符前附加$符
select to_char(18,'$999') from dual;
select to_char(18,'999$') from dual;

--0 字符头部或尾部附加0
select to_char(18.0,'0999') from dual;
select to_char(18.0,'9990.0000') from dual;

--9 与上类似以指定长度返回数值格式,不过如果被格式化的数值长度短于指定格式,则以空格补足。
select to_char(18.0,'0999') from dual;

--B 当整数部分是0时返回空格(即使存在0格式串也忽略)。
select to_char(0.18,'B0999') from dual;
select to_char(1.18,'B0999') from dual;

--C 返回ISO默认指定的标识(默认标识可参见:NLS_ISO_CURRENCY)
select to_char(128.18,'C999999.99') from dual;

--D 返回指定的小数点形式(默认符:.)(默认标识可参见:NLS_NUMERIC_CHARACTER)
select to_char(128.18,'9999D99') from dual;
select to_char(128.18,'9999D999') from dual;
select to_char(128.18,'9999D9') from dual;
--alter session set nls_numeric_characters=':'''
--alter session set nls_numeric_characters='.''';
select to_char(128.18,'9999D99') from dual;

--EEEE 使用科学记数法显示
select to_char(128.18,'9EEEE') from dual;

--MI 负值在尾部显示-号,正值在尾部附加空格。另:该格式符必须处于格式串尾部
select to_char(-18,'999MI') from dual;
select to_char(18,'999MI') from dual;

--PR 负值以<>尖括号包括,正值在头尾部各附加空格。另:该格式符必须处于格式串尾部
select to_char(-18,'999PR') from dual;
select to_char(18,'999PR') from dual;

--S 显示数值正负值符号。可出现于格式串首部或尾部。
select to_char(18,'S9999') from dual;
select to_char(18,'9999S') from dual;
select to_char(-18,'999S') from dual;

--U 与L类似,在指定位置显示货币单位(默认值见:NLS_DUAL_CURRENCY)
select TO_CHAR(128,'999U') from dual;
select TO_CHAR(128,'999L') from dual;

 

转载于:https://www.cnblogs.com/lijunxian0114/p/3625976.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值