SQL中的数字格式
我有一个数字需要格式化如下:SQL中的数字格式,sql,oracle,plsql,Sql,Oracle,Plsql,我有一个数字需要格式化如下: 需要使用 小数需要用, 例如,number1234567.89需要看起来像1.234.567,89 有没有什么方法可以用一个简单的sql函数来实现这一点,或者我必须创建自己的函数?将to_char()与您希望使用的规范一起使用,作为十进制分隔符,作为千位分隔符(这不是Oracle中的默认值) 结果为:1.234.567,89 有关格式模型的详细信息: 关于to_char()函数的详细信息:使用to_char()以及要使用,作为十进制分隔符和作为千位分隔符的规范(
- 需要使用
- 小数需要用
,
1234567.89
需要看起来像1.234.567,89
有没有什么方法可以用一个简单的sql函数来实现这一点,或者我必须创建自己的函数?将to_char()
与您希望使用的规范一起使用,
作为十进制分隔符,
作为千位分隔符(这不是Oracle中的默认值)
结果为:1.234.567,89
有关格式模型的详细信息:
关于to_char()函数的详细信息:使用to_char()
以及要使用,
作为十进制分隔符和
作为千位分隔符的规范(这不是Oracle中的默认值)
结果为:1.234.567,89
有关格式模型的详细信息:
关于to_char()函数的详细信息:您也可以使用会话区域设置
create table mytest (field1 number);
insert into mytest values (1234567.89);
alter session set NLS_TERRITORY=GERMANY;
select field1, to_char(field1,'9G999G999G999D00') from mytest;
alter session set NLS_TERRITORY=AMERICA;
select field1, to_char(field1,'9G999G999G999D00') from mytest;
输出:
Table created.
1 row created.
Session altered.
FIELD1 TO_CHAR(FIELD1,'9G999G999G999D00')
---------- ----------------------------------
1234567,89 1.234.567,89
1 row selected.
Session altered.
FIELD1 TO_CHAR(FIELD1,'9G999G999G999D00')
---------- ----------------------------------
1234567.89 1,234,567.89
1 row selected.
您也可以使用会话区域设置
create table mytest (field1 number);
insert into mytest values (1234567.89);
alter session set NLS_TERRITORY=GERMANY;
select field1, to_char(field1,'9G999G999G999D00') from mytest;
alter session set NLS_TERRITORY=AMERICA;
select field1, to_char(field1,'9G999G999G999D00') from mytest;
输出:
Table created.
1 row created.
Session altered.
FIELD1 TO_CHAR(FIELD1,'9G999G999G999D00')
---------- ----------------------------------
1234567,89 1.234.567,89
1 row selected.
Session altered.
FIELD1 TO_CHAR(FIELD1,'9G999G999G999D00')
---------- ----------------------------------
1234567.89 1,234,567.89
1 row selected.
您提到
PL/SQL
作为标记。您是否使用Oracle DBMS?1234567.89的数据类型是什么?它是否作为VARCHAR2
存储或传递?RDBMS是Oracle,对吗?数据库中的数据类型是数字,看起来像1234567.89是的,我在Oracle DBMS中工作,这不是真正的SQL问题。在上面的层中设置格式。更改nls\u numeric\u characters=,.
system/session-wide的值,或者将用作字符(number\u col,'fm999G999G990D099','nls\u numeric\u characters=,。)
函数您提到的PL/SQL
作为标记。您是否使用Oracle DBMS?1234567.89的数据类型是什么?它是否作为VARCHAR2
存储或传递?RDBMS是Oracle,对吗?数据库中的数据类型是数字,看起来像1234567.89是的,我在Oracle DBMS中工作,这不是真正的SQL问题。在上面的层中设置格式。更改nls\u数字字符=,.
system/session-wide的值,或使用转换为字符(数字列,'fm999g990d099','nls\u数字字符=,。。)
函数