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>