SQL中的数字格式

时间:2015-05-08 08:42:38

标签: sql oracle plsql

我有一个需要格式化的数字:

  • 数千人需要与.
  • 分开
  • 小数需要用,
  • 分隔

例如,数字1,234,567.89需要看起来像1.234.567,89

有什么办法可以用简单的sql函数做到这一点,或者我必须自己创建函数?

2 个答案:

答案 0 :(得分:3)

onCreate与您要使用的规范Toolbar yourToolbar = (Toolbar) findViewById(R.id.your_toolbar); yourToolbar.setBackgroundColor(<whatever color you want>); setSupportActionBar(yourToolbar); ActionBar actionBar = getSupportActionBar(); actionBar.setHomeButtonEnabled(true/false); actionBar.setDisplayHomeAsUpEnabled(true/false); actionBar.setTitle(<whatever title you want>); 一起用作小数点分隔符,将to_char()用于千位分隔符(这不是Oracle中的默认值)

,

结果:.

有关格式模型的详细信息:http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements004.htm#SQLRF00211

有关to_char()函数的详细信息:http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions201.htm#SQLRF51882

答案 1 :(得分:1)

您也可以使用会话区域设置。

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.