如何在字符串中添加任意数量的数字或从Postgresql中的字符串中删除数字

时间:2018-05-09 14:14:46

标签: sql postgresql

我有一个SQL查询,我提供输入并接收输出。所以我检查用户是否输入变量。但是我想改进它。

目前我使用以下语句来检查输入变量是否包含变量,如果他们没有输入输入,则为他们自动设置范围,如下所示。

请注意:
- :StudentIdFrom是我配置的输入字段,允许用户输入查询 - **:**(冒号表示输入)
- studentNo是一个字符变化类型,正好是10个字符
- 所有输入都是字符串。


(CASE
WHEN LENGTH(:StudentIdFrom ) > 0
THEN CAST(studentNo AS VARCHAR(10)) BETWEEN :StudentIdFrom AND 
(CASE 
WHEN LENGTH(:StudentIdUntil) > 0
THEN :StudentIdUntil
ELSE :StudentIdFrom 
END)
ELSE CAST(studentNo AS VARCHAR(10)) BETWEEN '0000000001' and '9999999999'
END
)

我想要的是用户只需输入一个数字而不输入语句中的所有0。

2 个答案:

答案 0 :(得分:1)

试试这个:

select replicate(0,10-len(field))+field

答案 1 :(得分:1)

答案在postgresql LPAD(:studentIdFrom,10,'0')