ORACLE to_char函数详解_第1页
ORACLE to_char函数详解_第2页
ORACLE to_char函数详解_第3页
ORACLE to_char函数详解_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

ORACLE to char 函数详解 2007 年 07 月 04 日 星期三 下午 05 41 The following are number examples for the to charto char function to charto char 1210 73 9999 9 would return 1210 7 to charto char 1210 73 9 999 99 would return 1 210 73 to charto char 1210 73 9 999 00 would return 1 210 73 to charto char 21 000099 would return 000021 The following is a list of valid parameters when the to charto char function is used to convert a date to a string These parameters can be used in many combinations ParameterParameterExplanationExplanation YEARYear spelled out YYYY4 digit year YYY YY Y Last 3 2 or 1 digit s of year IYY IY I Last 3 2 or 1 digit s of ISO year IYYY4 digit year based on the ISO standard QQuarter of year 1 2 3 4 JAN MAR 1 MMMonth 01 12 JAN 01 MONAbbreviated name of month MONTHName of month padded with blanks to length of 9 characters RMRoman numeral month I XII JAN I WW Week of year 1 53 where week 1 starts on the first day of the year and continues to the seventh day of the year W Week of month 1 5 where week 1 starts on the first day of the month and ends on the seventh IWWeek of year 1 52 or 1 53 based on the ISO standard DDay of week 1 7 DAYName of day DDDay of month 1 31 DDDDay of year 1 366 DYAbbreviated name of day JJulian day the number of days since January 1 4712 BC HHHour of day 1 12 HH12Hour of day 1 12 HH24Hour of day 0 23 MIMinute 0 59 SSSecond 0 59 SSSSSSeconds past midnight 0 86399 FFFractional seconds The following are date examples for the to charto char function to charto char sysdate yyyy mm dd would return 2003 07 09 to charto char sysdate Month DD YYYY would return July 09 2003 to charto char sysdate FMMonth DD YYYY would return July 9 2003 to charto char sysdate MON DDth YYYY would return JUL 09TH 2003 to charto char sysdate FMMON DDth YYYY would return JUL 9TH 2003 to charto char sysdate FMMon ddth YYYY would return Jul 9th 2003 You will notice that in some examples the format mask parameter begins with FM This means that zeros and blanks are suppressed This can be seen in the examples below to charto char sysdate FMMonth DD YYYY would return July 9 2003 to charto char sysdate FMMON DDth YYYY would return JUL 9TH 2003 to charto char sysdate FMMon ddth YYYY would return Jul 9th 2003 The zeros have been suppressed so that the day component shows as 9 as opposed to 09 OracleOracle 函数函数 to charto char 转化数字型指定小数点位数的用法转化数字型指定小数点位数的用法 to charto char 函数功能 就是将数值型或者日期型转化为字符型 比如最简单的应用 1 0123 1 0123 Select TO CHARTO CHAR 1 0123 FROM DUAL 123 123 Select TO CHARTO CHAR 123 FROM DUAL 接下来再看看下面 0 123 123 SELEC TO CHARTO CHAR 0 123 FROM DUAL 上面的结果 123 在大多数情况下都不是我们想要的结果 我们想要的应该 是 0 123 我们来看一下 to charto char 函数的具体用法 TO CHARTO CHAR n fmt nlsparam 该函数将 NUMBER 类型的 n 按数值格式 fmt 转换成 VARCHAR2 类型的值 nlsparams 指定由数值格式的元 素返回的字符 包括 小数点字符 组分隔符 本地钱币符号 国际钱币符号 变元的形式为 NLS NUMERIC CHARACTERS dg NLS CURRENCY tcxt NLS ISO CURRENCY territory 其中 d 为小数点字符 g 为组分隔符 例 TO CHARTO CHAR 17145 L099G999 NLS NUMERIC CHARACTERS NLS CURRENCY NUD NUD017 145 通过上面的了解 再查看 fmt 的一些格式 我们可以用以下表达式得到 0 123 的值 0 123 0 123 Select TO CHARTO CHAR 0 123 0 999 FROM DUAL 100 12 Select TO CHARTO CHAR 100 12 0 999 FROM DUAL 1 12 1 120 Select TO CHARTO CHAR 1 12 0 999 FROM DUAL 0 123 是出来了 可是前面又多了一个空格 对于 100 12 的值却是 以及 1 12 的值变成了 1 120 我们重新确定一个新的需求 1 去空格 2 小数点最多 4 位 最少保留 2 位 1 1 00 1 1 1 00 1 12 1 12 1 1234 1 1234 1 12345 1 1235 最终实现如下 FM 除空格 9999999 0099 允许小数点左边最大正数为 7 位 小数点右边最少 2 位 最多 4 位 且在第 5 位进行 四舍五入 Select TO CHARTO CHAR 123 0233 FM9999999 0099 FROM DUAL PLSQL 小经验一 Oracle 的 to charto char 函数功能很强大但是在用它格式化数值 型数据时应该请注意以下几项 如果是小数如 0 23 这样的数据经过 to charto char 后再显示会变为 23 如果你为了让它显示出原来的 0 23 的话就得用 To charTo char 要格式化的数值 0 999 保留三个小数 并显示 但这里就要注意了 他为你截取小数的时候是四舍五入了 所以如果是要求截 掉小数而不四舍五入的话就应该自己写个函数截下去后再规格化 以保证它不 四舍五入 二 To charTo char 1 9999 FM90 0999 这个函数规格化时 90 0999 的含义是有 9 的地方如果有数字就显示如果没有数字就不显示 有 0 的地方在没有数字的时 候也会有 来占位 但这样做也有一个很大的缺点 就是如果是整数时它也仍然 会显示 不要小瞧这个点 一般来讲页面上要显示的话这个点就是多余的 也给我们造成了不小的麻烦 还要自己再写函数来把这个小点搞定 三 对于日期型的 Oracle 倒时提供了一个好的处理方法 可以把日期做成数值 型的 然后再 To charTo char 就能显示出你所需要的类型了 四 在使用 select into 时一定要注意 这种方法你一定要确认肯定会有数据 被查出时才能使用 如果查询结果为空时会导致报错 还有一种情况是查出来的 数据是多条也会报错 所以应该尽量便宜游标来做 会减少错误产生的机率 五 还有注意一点 rownum 不支持排序 就是说你想用这个来控制行数的话就会 发现他没有按你指定的排序方式显示 这是一个很难办的事 而且如果你用 rownum 2 这样的语句来输出第二行的话也是行不通的 六 最恶心的一

温馨提示

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

评论

0/150

提交评论