PL/SQL 类型格式转换

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的位数,不能小于。

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐