postgreSQL數據類型轉換字符串和數值


1、將數值轉成字符串類型
 方法1:調用to_char(int, text)函數,int為要轉換值,text為數值格式化模式,其中模式描述為:
模式 描述
9 帶有指定數值位數的值
0 帶前導零的值
.(句點) 小數點
,(逗號) 分組(千)分隔符
PR 尖括號內負值
S 帶符號的數值
L 貨幣符號
D 小數點
G 分組分隔符
MI 在指明的位置的負號(如果數字 < 0)
PL 在指明的位置的正號(如果數字 > 0)
SG 在指明的位置的正/負號 
使用舉例:
SELECT to_char(12345, '9999999999999999999')//結果‘              12345’,結果字符串前面有空格,位數跟格式化模式中9的位數有關;
SELECT to_char(12345, '99999')//結果‘12345’
SELECT to_char(12345, '9999')//結果‘####’,當模式串小於數字個數時,字符串會顯示為#,位數跟 格式化模式中9的位數有關;
SELECT to_char(12345, '')//結果‘’
問題:將數值轉成字符串且不要前面的空格實現起來很麻煩,由於無法判斷 格式化模式中9的位數。可用下面方法2解決:
方法2:通過||連接
''||12345
2、將字符串轉成數值
方法調用: to_number(text,text )函數,參數1是要轉的數字字符串,參數2為模式參數
使用舉例:
SELECT to_number('12345', '9999999999999999999')//12345
SELECT to_number('12345', '99999')//12345
SELECT to_number(''||12345, '9999')//1234,由於模式是4位,結果忽略最后一位;
SELECT to_number('    12345', '9999999999999999999')//12345
SELECT to_number('  ab  ,1,2a3,4b5', '9999999999999999999')//12345,會忽略所有字符串中非數字字符






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM