首页 > 解决方案 > 如何将任意数量的数字添加到字符串中或从 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。

标签: sqlpostgresql

解决方案


试试这个:

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

推荐阅读