2016-03-14 29 views
1

我在這裏有一些問題。我需要選擇一個列,其結果是'01201698765'。如何分割這個數字變成這樣:'01 .2016.98765'。Oracle SQL中的數字格式

我已經使用了TO_CHAR,但是前面的'0'(零)號碼沒有了。

+0

列的類型是什麼? –

+0

抱歉忘了提。類型是CHAR。 @GordonLinoff –

回答

1

你可以使用:

  • 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> 
+0

這完美的作品。謝謝 –

0

假設列是一個字符串,只需使用字符串操作:

select substr(col, 1, 2) || '.' + substr(col, 3, 4) + '.' + substr(col, 5, 5)