Oracle中的格式化函数.doc_第1页
Oracle中的格式化函数.doc_第2页
Oracle中的格式化函数.doc_第3页
Oracle中的格式化函数.doc_第4页
Oracle中的格式化函数.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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(int, 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(05 dec 2000 13, dd mon yyyy hh) to_date(text, text) date 把 string 转换成 date to_date(05 dec 2000, dd mon yyyy) to_timestamp(text, text) date 把 string 转换成 timestamp to_timestamp(05 dec 2000, dd mon yyyy) to_number(text, text) numeric 把 string 转换成 numeric to_number(12,454.8-, 99g999d9s) 所有格式化函数都是 format-picture (格式图)的第二个参数。表 5-7. 用于日期/时间 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 缩写的月份名(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 日子(从4712 bc 年一月一日以来的日子) 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 忽略空白。必须作为formt-picture(格式图)里的第一个项目使用。 fx month dd day sp 拼写模式(目前未实现) ddsp - 必须用做双 ,例如 hhmiss - 双引号之间的字串被忽略并且不被分析。如果你想向输出写 你必须用 ,例如 yyyy month。text - postgresql 的 to_char() 支持不带 的文本,但是带有双引号的字串会快些并且可以保证该文本不会被解释成关键字(format-picture,格式图),例如 hello year: yyyy。表 5-9. 用于数字 (int/float/numeric) to_char() 版本的format-pictures (格式图)。格式图 描述 9 返回指定位数的值,如果不够位数用空白代替 0 象 9 一样,但是把空白替换成零 . (句点) 小数点 , (逗号) 分组(千进)分隔符 pr 在尖括号内返回负数 s 用负号返回负数(使用本地) l 货币符号(使用本地) d 小数点(使用本地) g 分组符(使用本地) mi 在指定位置返回负号(如果数字 0) postgresql 扩展 sg 在指定位置返回正/负号(如果数字 0) - postgresql 扩展 rn 返回数字的罗马数字(数字必须介于1 和 3999之间) th 或th 把数字转换成自然数(如果是负数或小数不转换) - postgresql 扩展 v arg1 * (10 n);- 返回一个乘以 10n (这里 n 是v后面的数字 9)。to_char() 不支持同时使用 v 和小数点,如 99.9v99。 eeee 科学记数,目前不支持。 注意:通过a sign formatted via sg,pl 或 mi 格式化的符号数不一定是数字;to_char(-12, s9999)生成: -12 ,但是 to_char(-12, mi9999)生成:- 12 。oracle 不允许在 9 前面使用 mi,在 oracle 里,它总是在 9 后面。. 表 5-10. to_char()的例子输入 输出 to_char(now(), day, hh12:mi:ss) tuesday , 05:39:18 to_char(now(), fmday, hh12:mi:ss) tuesday, 05:39:18 to_char( -0.1, 99.99) -.10 to_char( -0.1, fm9.99) -.1 to_char( 0.1, 0.9) 0.1 to_char( 12, 9990999.9) 0012.0 to_char( 12, fm9990999.9) 0012 to_char( 485, 999) 485 to_char( -485, 999) -485 to_char( 485, 9 9 9) 4 8 5 to_char( 1485, 9,999) 1,485 to_char( 1485, 9g999) 1 485 to_char( 148.5, 999.999) 148.500 to_char( 148.5, 999d999) 148,500 to_char( 3148.5,9g999d999) 3 148,500 to_char( -485, 999s) 485- to_char( -485, 999mi) 485- to_char( 485, 999mi) 485 to_char( 485, pl999) +485 to_char( 485, sg999) +485 to_char( -485, sg999) -485 to_char( -485, 9sg99) 4-85 to_char( -485, 999pr) to_char( 485, l999) dm 485 to_char( 485, rn) cdlxxxv to_char( 485, fmrn) cdlxxxv to_char( 5.2, fmrn) v to_char( 482, 999th) 482nd to_char( 485, good number:999)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论