度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 379|回复: 4

[分享] PL/SQL 类型格式转换

[复制链接]

328

主题

3738

帖子

8565

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8565
QQ
发表于 2018-7-27 14:36:57 | 显示全部楼层 |阅读模式
TO_NUMBER(char[,'format_model'])  字符转换到数字类型
TO_DATE(char[,'format_model'])  字符转换到日期类型
  格式说明符:要与前边要转换的字符串的格式要相同才能转换(匹配问题:格式和位数)。
TO_CHAR(date[,'format_model'[,nlsparams]])
  第二个参数可以省略,不指定格式,按系统默认格式输出。
  区分大小写。
  使用FM(在格式控制符前添加)符号可以去掉空格或是首位的零。
  如果指定了NLSPARAMS,则它控制返回字符串的月和日分量所使用的语言。格式为:
  'NLS_DATA_LANGUAGE=language',language指需要的语言。
  例:
  select to_char(sysdate,'FMyyyy-mm-dd') from dual;
  格式控制符的类型:
    YYYY 四位的年
    YEAR 年的拼写      
    MM  2位数字的月
    MONTH 月的全名
    MON 月名的前三个字符
    DY 星期名的前三个字符
    DAY 星期名的全称
    DD 2位的天  
  时间格式控制符:
    HH24:MI:SS AM
    HH12:MI:SS PM
  通过“”来实现加入特殊字符的格式控制符。
  SELECT TO_CHAR(SYSDATE,'FMyyyy"年"mm"月"dd"日"') from dual;
  DDSPTH
  ~~  
  DD是格式控制符。  
  TH是序数词,将日期转换成英文的序数词拼写。
  SP是基数词,将日期转换成英文的基数词拼写。
TO_CHAR(NUM[,'format_model'[,nlsparams]])转换数字  
将NUMBER类型参数NUM转换成VARCHAR2类型。如果指定FORMAT,它会控制整个转换。
如果没有指定FORMAT,那么结果字符串中将包含和NUM中有效位的个数相同的字符。NLSPARAMS用来指定小数点和千分符及货币符号。它的格式可为:'NLS_NUMERIC_CHARS=' ' dg ' 'NLS_CURRENCY= ' 'string' ' '
d和g分别代表小数点和千分符。STRING代表货币符号。   
数字格式控制符:
  9 代表一位数字(替换符。有,数字显示;没有。不什么都显示。)  
  0 代表一位数字(有数字,显示;没有,强制显示0。)  
  $ 美圆符号
  L 本地货币
  . 小数点
  , 千分符
  B 当整数部分为0时,将整数部分填充为空格。 例:B999
  MI  返回带有后继符号而不是前导负号的负数值,正数值将带有后继的空格。999MI  
  S 返回一个前导符号或后继符号,正数为+,负数为-。 S9999 或 9999S
  PR  使用尖括号返回负数。正数将有前导或后继空格。999PR
  D 在指定位置返回一个小数点。两侧的9的个数指定了最大的位数。99D9
  G 在指定位置返回千分符,G可以在FORMAT_model中出现多次。9G999G9
  C 在指定位置返回ISO货币符号。C可以在FORMAT_model中出现多次。C99
  L 在指定位置上返回本地货币符号。 L99
  V 返回一个被乘以10的N次方的数值,这里N是V后边9的个数。99V99
  EEEE 使用科学记数法返回该数值。9.99EEEE
  RM 使用大写的罗马数字表示返回该数值。 RM
  rm 使用小写的罗马数字表示返回该数值。 rm
  FM 返回不含前导和后继空格的数值。 FM99.09
  格式控制符位数一定要大于或等于NUMBER的位数,不能小于。

回复

使用道具 举报

348

主题

3590

帖子

8888

积分

论坛元老

Rank: 8Rank: 8

积分
8888
发表于 2018-7-27 20:56:29 | 显示全部楼层
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3590

帖子

8888

积分

论坛元老

Rank: 8Rank: 8

积分
8888
发表于 2018-7-27 21:25:53 | 显示全部楼层
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3590

帖子

8888

积分

论坛元老

Rank: 8Rank: 8

积分
8888
发表于 2018-7-27 21:26:39 | 显示全部楼层
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8565

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8565
QQ
 楼主| 发表于 2018-7-28 15:28:56 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2018-12-13 00:03 , Processed in 0.398679 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表