Oracle 中的数字格式 SQL
Number formatting in Oracle SQL
我这里有问题。我进入了 SELECT 列,结果为“01201698765”。如何将这个数字拆分成这样:'01.2016.98765'。
我用过TO_CHAR,但是前面的'0'(零)数字不见了。
假设该列是一个字符串,就用字符串操作:
select substr(col, 1, 2) || '.' + substr(col, 3, 4) + '.' + substr(col, 5, 5)
您可以使用:
- SUBSTR
- 连接运算符
||
例如,
SQL> WITH sample_data AS(
2 SELECT '01201698765' num FROM dual
3 )
4 --end of sample_data mimicking real table
5 SELECT num,
6 substr(num, 1, 2)||'.'||substr(num, 3, 4)||'.'||substr(num, 7) num_formatted
7 FROM sample_data;
NUM NUM_FORMATTED
----------- -------------
01201698765 01.2016.98765
SQL>
我这里有问题。我进入了 SELECT 列,结果为“01201698765”。如何将这个数字拆分成这样:'01.2016.98765'。
我用过TO_CHAR,但是前面的'0'(零)数字不见了。
假设该列是一个字符串,就用字符串操作:
select substr(col, 1, 2) || '.' + substr(col, 3, 4) + '.' + substr(col, 5, 5)
您可以使用:
- SUBSTR
- 连接运算符
||
例如,
SQL> WITH sample_data AS(
2 SELECT '01201698765' num FROM dual
3 )
4 --end of sample_data mimicking real table
5 SELECT num,
6 substr(num, 1, 2)||'.'||substr(num, 3, 4)||'.'||substr(num, 7) num_formatted
7 FROM sample_data;
NUM NUM_FORMATTED
----------- -------------
01201698765 01.2016.98765
SQL>