lijunxian0114


--环境
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;

 

分类:

技术点:

相关文章: