-->

科技资讯

您的当前位置:首页 > 资讯 > postgresql

postgresql补齐0

2021-03-09 20:55:23  来源:admin 点击:1463

  1. 左补0函数:lpad()
    select lpad(‘538’, 6, ‘0’) //解释:538不满6位数时,左变补0,让其达到6位长度


  2. 结果

  3. 右补0函数:rpad()
    select rpad(‘538’, 6, ‘0’)//解释:538不满6位数时,右边补0,让其达到6位长度


  4. 结果

  5. 1、将数值转成字符串类型使用举例:

  6.  方法1:调用to_char(int, text)函数,int为要转换值,text为数值格式化模式,其中模式描述为:
  7. 模式 描述
    9 带有指定数值位数的值
    0 带前导零的值
    .(句点) 小数点
    ,(逗号) 分组(千)分隔符
    PR 尖括号内负值
    S 带符号的数值
    L 货币符号
    D 小数点
    G 分组分隔符
    MI 在指明的位置的负号(如果数字 < 0)
    PL 在指明的位置的正号(如果数字 > 0)
    SG 在指明的位置的正/负号 
  8. SELECT to_char(12345, '9999999999999999999')//结果‘              12345’,结果字符串前面有空格,
  9. 位数跟格式化模式中9的位数有关;
    SELECT to_char(12345, '99999')//结果‘12345’
    SELECT to_char(12345, '9999')//结果‘####’,当模式串小于数字个数时,字符串会显示为#,
  10. 位数跟格式化模式中9的位数有关;
    SELECT to_char(12345, '')//结果‘’
    问题:将数值转成字符串且不要前面的空格实现起来很麻烦,由于无法判断格式化模式中9的位数。
  11. 可用下面方法2解决:
  12. 方法2:通过||连接
  13. ''||12345
  14. 2、将字符串转成数值
  15. 方法调用: to_number(text,text)函数,参数1是要转的数字字符串,参数2为模式参数
  16. 使用举例:
  17. 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,
  18. 会忽略所有字符串中非数字字符


相关文章更多 >

© 2024版权所有 水水网

电话:171780793