资源描述:
《Oracle中的格式化函数.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Oracle中的格式化函数格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型。表5-6.格式化函数函数返回描述例子to_char(datetime,text) text 把datetime转换成string to_char('now'::datetime,'hh12:mi:ss') to_char(timestamp,text) text 把timestamp转换成string to_char(now(),'hh12:mi:ss') to_char(in
2、t,text) text 把int4/int8转换成string to_char(125,'999') to_char(float,text) text 把float4/float8转换成string to_char(125.8,'999d9') to_char(numeric,text) text 把numeric转换成string to_char(-125.8,'999d99s') to_datetime(text,text) datetime 把string转换成datetime to_datetime('05dec200013','ddmonyyyyhh'
3、) to_date(text,text) date 把string转换成date to_date('05dec2000','ddmonyyyy') to_timestamp(text,text) date 把string转换成timestamp to_timestamp('05dec2000','ddmonyyyy') to_number(text,text) numeric 把string转换成numeric to_number('12,454.8-','99g999d9s') 所有格式化函数都是format-picture(格式图)的第二个参数。表5-7.用于
4、日期/时间to_char()版本的format-pictures。format-picture描述hh 一天中的小时(01-12) hh12 一天中的小时(01-12) mi 分钟(00-59) ss 秒(00-59) ssss 过了午夜的秒(0-86399) y,yyy 带逗号的年(4或更多位)yyyy 年(4或更多位)yyy 年的最后三位yy 年的最后两位y 年的最后一位month 完整的月份名(9字符)-所有字符大写month 完整的月份名(9字符)-首字符大写month 完整的月份名(9字符)-所有字符小写mon 缩写的月份名(3字符)-所有字符大写mon
5、 缩写的月份名(3字符)-首字符大写mon 缩写的月份名(3字符)-所有字符小写mm 月份(01-12) day 完整的日期名(9字符)-所有字符大写day 完整的日期名(9字符)-首字符大写day 完整的日期名(9字符)-所有字符小写dy 缩写的日期名(3字符)-所有字符大写dy 缩写的日期名(3字符)-首字符大写dy 缩写的日期名(3字符)-所有字符小写ddd 一年中的日子(001-366) dd 一月中的日子(01-31) d 一周中的日子(1-7;sun=1) w 月中的周ww 年中的周cc 世纪(两位)j julian日子(从4712bc年一月一日以来的
6、日子) q 季度rm 罗马数字的月份(i-xii;i=jan) 所有format-pictures(格式图)允许使用后缀(后缀/前缀)。对于近似format-picture(格式图),后缀总是有效的。'fx'只是全局前缀。表5-8.用于日期/时间to_char()版本的format-pictures(格式图)后缀。后缀描述例子fm 填充模式-前缀fmmonth th 大写顺序数-前缀ddth th 小写顺序数-后缀ddth fx fx-(固定模式)全局format-picture(格式图)开关。如果没有使用这个选项to_datetime/to_date忽略空白。必
7、须作为formt-picture(格式图)里的第一个项目使用。fxmonthddday sp 拼写模式(目前未实现)ddsp ''-必须用做双\,例如'\hh\mi\ss''"'-双引号之间的字串被忽略并且不被分析。如果你想向输出写'"'你必须用\",例如'\"yyyymonth\"'。text-postgresql的to_char()支持不带'"'的文本,但是带有双引号的字串会快些并且可以保证该文本不会被解释成关键字(format-picture,格式图),例如'"helloyear:"yyyy'。表5-9.用于数字(int/float/nume
8、ric)t