oracle 12c to_char 函数 日期-字符串

TO_CHAR 函数,数据转换为文字形式,如下图

TO_CHAR() 日期型到字符型

作用
to_char 中的参数为日期,可以将日期转为特定格式的字符串类型
写法

    TO_CHAR(日期[,'日期形式'][,NLS参数])/* @param  日期  需要变化的日期数*  @param '日期形式' 变化为那种形式(可省略)*  @param NLS参数关于date的系统环境指定(可省略)*  @return 字符串

日期形式表

此处以sysdate 为列进行测试

select sysdate from dual;
SYSDATE
-----------
2018/06/04
元素 说明 日语环境 英语环境 测试语句
SCC / CC 世纪。如果四位数年份的最后两位数字是01到99(包括01和99),则该世纪是该年份的前两位数字加1。如果四位数年份的最后两位数字是00,则该世纪等于该年份的前两位数字。例如,2002年返回21,2000年返回20。 21 21 select TO_CHAR(sysdate,’SCC’) from dual;
SYYYY / SYYY 四位数年份。在S的情况下,在BC的日期开始时加上一个减号。 2018 2018 select TO_CHAR(sysdate,’SYYYY’) from dual;
YYY / YY /Y 年份三位数表示,两位数,一位数表示 18 18 select TO_CHAR(sysdate,’YY’) from dual;
SYEAR / YEAR 年拼写出来。在S的情况下,在BC的日期的开始附加一个减号( - )。 TWENTY EIGHTEEN TWENTY EIGHTEEN select TO_CHAR(sysdate,’SYEAR’) from dual;
RR 年后面两位数。 18 18 select TO_CHAR(sysdate,’RR’) from dual;
Q 一年的四季 2 2 select TO_CHAR(sysdate,’Q’) from dual;
MM 月两位数表示 06 06 select TO_CHAR(sysdate,’MM’) from dual;
MONTH 长的月份表示(9个字以内) 6月 JUNE select TO_CHAR(sysdate,’MONTH’) from dual;
MON 简略的月份表示(3个字以内) 6月 JUN select TO_CHAR(sysdate,’MON’) from dual;
RM 使用罗马数字表示月份 VI VI select TO_CHAR(sysdate,’RM’) from dual;
WW / W WW 表示年过去的周 W 表示月过去的周 23 23 select TO_CHAR(sysdate,’WW’) from dual;
DDD / DD / D 年/月/周 过去的天数 155 155 select TO_CHAR(sysdate,’DDD’) from dual;
DAY 星期表示(9字以内) 月曜日 MONDAY select TO_CHAR(sysdate,’DAY’) from dual;
DY 星期省略表示(3字以内) MON select TO_CHAR(sysdate,’DY’) from dual;
IW ISO基准下的,一年过了几周 23 23 select TO_CHAR(sysdate,’IW’) from dual;
AM / PM 时间为午前还是午后 午後 PM select TO_CHAR(sysdate,’AM’) from dual;
A.M./ P.M. 用A.M.或者P.M.形式表示(日语环境不变) 午後 PM select TO_CHAR(sysdate,’AM’) from dual;
HH/HH24/HH12 时间表示 04 04 select TO_CHAR(sysdate,’HH’) from dual;
时间表示24小时制 16 16 select TO_CHAR(sysdate,’HH24’) from dual;
时间表示12小时制 04 04 select TO_CHAR(sysdate,’HH12’) from dual;
MI 分(0-59) 26 26 select TO_CHAR(sysdate,’MI’) from dual;
SS 秒(0-59) 02 02 select TO_CHAR(sysdate,’SS’) from dual;
SSSSS 早上0时过去的秒数(0-86399) 59318 59318 select TO_CHAR(sysdate,’SSSSS’) from dual;

特别注意的点
+ 【/】【-】【(】可以作为连接的符号
+ 当有* 年** 日* 汉字时,需要用双引号

    select TO_CHAR(sysdate,'YYYY"年"MM"年"DD"日"') from dual;TO_CHAR(SYSDATE,'YYYY"年"MM"年"DD"日"')------------------------------------2018年06年04日 
  • 日期表示形式必须是半角符号,不然会产生错误。

日期时间格式元素的后缀

元素 说明 日语环境 英语环境 测试语句
TH 数字的序数形式 04TH of 6月 04TH of june select TO_CHAR(sysdate,’DDTH “of” month’) from dual;
SP 数字以完整拼法表示 FOUR of 6月 FOUR of june select TO_CHAR(sysdate,’DDSP “of” month’) from dual;
SPTH/THSP 序数以完整拼写表示 FOURTH of 6月 FOURTH of june select TO_CHAR(sysdate,’DDSPTH “of” month’) from dual;

特别注意的点

  • 结尾词前面有大小写区别,如果书写为小写形式,显示数据也为小写
/* 1.都为小写*/
select TO_CHAR(sysdate,'ddTHSP "of" month') from dual;
TO_CHAR(SYSDATE,'DDTHSP"OF"MONTH')
----------------------------------
fourth of 6月
/* 2. 开头大写*/
select TO_CHAR(sysdate,'Ddthsp "of" month') from dual;
TO_CHAR(SYSDATE,'DDTHSP"OF"MONTH')
----------------------------------
Fourth of 6月
/* 3. 大写*/
select TO_CHAR(sysdate,'DDTHSP "of" month') from dual;
TO_CHAR(SYSDATE,'DDTHSP"OF"MONTH')
----------------------------------
FOURTH of 6月

格式模型修饰符

FM 可以去除数值前面的0,以及字符串后面的无效的空白键。

select ename,to_char(hiredate,'ddTHSP "of" month,YYYY','NLS_DATE_LANGUAGE=AMERICAN'),hiredate
from employees;
ENAME      TO_CHAR(HIREDATE,'DDTHSP"OF"MONTH,YYYY','NLS_DATE_LANGUAGE=AMERICAN') HIREDATE
---------- --------------------------------------------------------------------- -----------
加藤       twenty-eighth of february ,2014                                       2014/02/28
吉田       thirteenth of march    ,2009                                          2009/03/13
鈴木       twenty-sixth of march    ,2000                                        2000/03/26
斉藤       seventeenth of december ,2001                                         2001/12/17/*加上fm*/
select ename,to_char(hiredate,'fmddTHSP "of" month,YYYY','NLS_DATE_LANGUAGE=AMERICAN'),hiredatefrom employees;ENAME      TO_CHAR(HIREDATE,'FMDDTHSP"OF"MONTH,YYYY','NLS_DATE_LANGUAGE=AMERICAN') HIREDATE
---------- ----------------------------------------------------------------------- -----------
加藤       twenty-eighth of february,2014                                          2014/02/28
吉田       thirteenth of march,2009                                                2009/03/13
鈴木       twenty-sixth of march,2000                                              2000/03/26
斉藤       seventeenth of december,2001                                            2001/12/17

oracle 12c to_char 函数(1) 日期-字符串相关推荐

  1. Oracle中to_char函数和MySQL中的str_to_date函数区别

    标题Oracle中to_char函数和MySQL中的str_to_date函数 1. str_to_date()----->相当于Oracle中的to_char(): 字符串转换为日期格式 (1 ...

  2. Oracle中to_char()函数的用法

    Oracle中to_char()函数的用法 日期转换: to_char(date,'格式') select to_date('2005-01-01 ','yyyy-MM-dd') from dual; ...

  3. oracle to_char函数格式,oracle 中to_char函数的用法

    一.日期格式转换 to_char(date,'格式'); select to_date('2005-01-01 ','yyyy-MM-dd') from dual; select to_char(sy ...

  4. 字符转换to_char函数与日期转换to_date函数

    字符转换to_char函数与日期转换to_date函数 多种日期表示格式: YYYY:四位表示的年份 YYY,YY,Y:年份的最后三位.两位或一位,缺省为当前世纪 MM,mm:0112的月份编号 MO ...

  5. mysql中可以用to_char函数吗_mySQL中 实现Oracle 的to_char函数

    mySQL中 实现Oracle 的to_char函数,应该可以实现80%的兼容 REPLACE函数是区分大小的 DROP FUNCTION IF EXISTS `to_char`; CREATE DE ...

  6. Oracle中to_char函数的速度问题

    oracle中用到比较时间的sql语句中,如果用to_char函数会影响sql执行的速度,原因待查找.

  7. oracle tovarchar2_oracle to_char() 函数的使用, 数字转换为字符串各种格式总结

    -- to_char 数字转换为字符串 -- TO_CHAR(NUMBER) -- 本函数把参数N转为一个VARCHAR2类型的数值. -- N可以是NUMBER,BINARY_FLOAT,或者BIN ...

  8. Oracle基础 TO_CHAR函数参考(转)

    Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型. 注意:所有格式化 ...

  9. Oracle的to_char()函数使用

    (1)用作日期转换: to_char(date,'格式'); select to_date('2005-01-01 ','yyyy-MM-dd') from dual; select to_char( ...

最新文章

  1. PCL分割:Conditional Euclidean Clustering官方历程,在自己配置环境上调错
  2. RobotFramework教程使用笔记——requests和requestslibrary库
  3. oracle常见表,ORACLE常见视图和表整理
  4. [大山中学模拟赛] 2016.9.10
  5. Intel 平台编程总结----缓存的优化
  6. 网安面试只要掌握这十点技巧,轻轻松松吊打面试官
  7. 百练OJ:3681与2796:数字求和
  8. Composer 本地路径加载 laravel-admin 扩展包
  9. 现代软件工程 团队作业 - 软件分析和用户需求调查 (2013 - 2014)
  10. NAT模式下虚拟机与主机网络关系配置
  11. AI 的下一个重大挑战:理解语言的细微差别
  12. 关于近期对自己的总结
  13. es分页和mysql分页_用户logstash同步mysql数据到es中7.4.1版本以后输出的sql日志中没有分页信息...
  14. outlook常见错误分析指南
  15. A Zero Flow Entry Expiration Timeout P4 Switch
  16. java删除相对路径文件夹_Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录...
  17. 【图像处理基础】基于matlab图像Harris角点检测【含Matlab源码 1731期】
  18. 小米路由器r2d_小米路由器R2D刷机变砖维修过程记录
  19. python 微信小程序制作教程_微信小程序从零开始开发步骤(一)
  20. php hook 键盘,python使用pyhook监控键盘并实现切换歌曲的功能

热门文章

  1. hnust - 聊天表情
  2. 云中需要多余的服务器资源
  3. Redis缓存命中率如何提高
  4. 特斯拉和OpenAI的加持,马斯克简直人生赢家
  5. 400G光模块的发展及现状|封装类型|易天光通信|ETU-LINK
  6. python计算圆的周长和面积
  7. 查询快递单号物流后,设置时间自动刷新查询未签收单号
  8. 算法学习之 Python 实现单词分析-找出现次数最多的字母的 n 中方式
  9. 为什么编译tiny工程出错,提示不兼容的类型
  10. 自建CDN防御DDoS(3):架构的后续改进