PGSQL_数字转换成字符串去尾0
应用场景
当前钢板存储厚度,字段是numeric(20, 2)
类型;型材存储规格,字段是varchar(50)
类型。
现在做拼接,若钢板类型就是名称厚度
,若型材类型就是名称规格
。
根据拼接的数据做过滤,即对名称厚度(名称规格)做过滤。
实现举例
-
例如表中有两条数据:
-
名称(name)=钢板一号,厚度(thick)=100.00,类型(bigType)=1
-
名称(name)=型材一号,规格(spec)=10*10,类型(bigType)=2
-
现在要搜索拼接后是‘钢板一号100’的数据
-
假设直接contact()函数拼接做过滤,contact(name,case bigType 1 when thick::text else spec end)='钢板一号100',这样是搜不到结果数据的,因为100.00直接强转成text类型的结果是'100.00',而非'100'
-
解放方法:通过rtrim()函数去尾部'0'的,rtrim('100.00','0')的结果是'100',rtrim('100.560','0')的结果是'100.56'
SELECT * FROM tb WHERE concat(name,(rtrim(round(thick,2)::TEXT,'0')::NUMERIC)::TEXT ELSE spec END )='钢板一号100'
分类:
SQL / PGSQL
标签:
PostgreSQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!