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

标签 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。

最佳答案

试试这个:

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

关于sql - 如何在 Postgresql 中向字符串添加任意数量的数字或从字符串中删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50255627/

相关文章:

php - 仅从数据库检索新数据

sql - 如何在 SQL 中使用其值的某个百分比更新表的字段?

sql - Oracle 查询结果与企业管理器值不匹配

sql - 返回连接作为 json 与 postgres 10

linux - 使用 crontab 刷新物化 View

sql - 解析子查询中的拆分字符串

django - 无法将类型整数转换为 uuid

postgresql - PostgreSQL 列上的字符串格式约束不起作用

ruby-on-rails - simple_form 未找到 json 的输入

PHP MySQL 发票 Material