oracle 12c to_char 函数(2) 数字-字符串

oracle 12c to_char 函数(2) 数字-字符串

TO_CHAR 函数,数据转换为文字形式,如下图
to_char类型装换

本节内容为TO_CHAR()第二节内容,是由数字类型变化为字符串类型

TO_CHAR() 日期型到字符型

作用
to_char 中的参数为数字类型,可以将数字转为特定格式的字符串类型
写法

TO_CHAR(数值,['数值形式'][,NLS参数])
    /* @param  数值  需要变化的数值
    *  @param '数值形式' 变化形式(可省略)
    *  @param NLS_CURRENCY,指定要用作L数字格式元素的本地货币符号的字符串(可省略)
    *  @return 字符串
    * /

主要的数值变化表

系统环境为日语环境

元素 说明 日语环境 测试语句
9 返回指定位数的值。利用9来反映 123 select to_char(123.456,’999’) from dual;
0 它返回前导0(零),它返回尾随0(零)。 00123 select to_char(123.456,’00999’) from dual;
$ 将值前面的美元符号返回。 $123 select to_char(123.456,’$999’) from dual;
L 返回指定位置的本地货币符号(NLS_CURRENCY参数的当前值)。 \123 select to_char(123.456,’L999’) from dual;
D 指定位置用小数点表示 123.456 select to_char(123.456,’999D999’) from dual;
. 指定位置用小数点表示 123.46 select to_char(123.456,’999.99’) from dual;
G 返回指定位置的千位分隔符(NLS_NUMERIC_CHARACTER参数的当前值)。 您可以在单个数字格式模型中指定多于一千个分隔符。限制:在数字格式模型中,无法将千位分隔符指定为小数字符或句点的右侧。 123,456 select to_char(123456,’999G999’) from dual;
, 将逗号返回到指定的位置。 可以为单个数字格式模型指定多个逗号.限制:数字格式模型不能以逗号元素开头。在数字格式模型中,不能在小数字符或句点的右侧指定逗号。 1,235 select to_char(1234.56,’9,999’) from dual;
MI 它在负值最右侧一个负号( - )。它在正值之后返回空白。 1235- select to_char(-1234.56,’9999MI’) from dual;
PR 负值尖括号<>中返回。它在正值之前和之后放置一个空白并将其返回。 <1235> select to_char(-1234.56,’9999PR’) from dual;
EEEE 科学计数法表示。 1E+03 select to_char(1234.56,’9999EEEE’) from dual;
V 将该值相乘10的n次方(根据需要舍入数字)。 其中n是V之后的9。 1234560 select to_char(1234.56,’9999V999’) from dual;
S 将符号表示到前方或者后方 -1234.56 select to_char(-1234.56,’s9999D99’) from dual;
S -1234.56- select to_char(-1234.56,’s9999D99’) from dual;

特别注意的点

  • 9 代表整数的位数不能实际表示的少,不然会呈现‘ #’ 代表
    这里写图片描述
  • 小数点位数不够时,会出现四舍五入。
    这里写图片描述
  • 不指定表示的形式时,可以原样输出,但不允许数字中夹杂 别的东西。
    这里写图片描述
  • 指定开头为0时才会多加0,不然都省略0.
    这里写图片描述

nlsparam

‘nlsparam’参数指定数字格式元素返回的形式。

  • 小数字符

  • 分隔数字

  • 当地的货币符号

  • 国际货币符号

该参数以下面的格式指定。

'NLS_NUMERIC_CHARACTERS =''d/g''
NLS_CURRENCY =''文字''
NLS_ISO_CURRENCY =地区'

字母d和g分别代表十进制字符和千位分隔符。 这些必须是不同的单字节字符。 在引用的字符串中,您需要在参数值周围使用两个单引号。 允许10个货币符号。

如果省略’nlsparam’或其中一个参数,则此函数将使用会话的默认参数值。

猜你喜欢

转载自blog.csdn.net/qq1301709072/article/details/80586056