|
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,会忽略所有字符串中非数字字符
来自为知笔记(Wiz) |
|
所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298
本贴地址:https://www.yunweiku.com/thread-303487-1-1.html
上篇帖子:
开源数据库 H2, HSQLDB, DERBY, PostgreSQL, MySQL区别/对比图表( 附加翻译) h2数据库
下篇帖子:
pg_stat_activity存储postgresql当前连接个数
|