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
推荐阅读
- c++ - 收银机美分计算不起作用?
- ubuntu - iperf tcp 吞吐量随着并行连接数量的增加而降低
- python-3.x - Microsoft Azure spark kusto 连接器——是否可以从数据块中获取 azure 存储文件?
- sql-server - CSV 导出选项中的“EmptyHeader”?
- python - 字典和函数基因映射输出未返回预期频率
- ms-access - Access 2000/2010 中超过 255 个字段
- firebase - Firebase 返回未定义
- bash - 为以空格分隔的字符串中的所有元素添加前缀/后缀
- php - 删除特定字符后的部分字符串
- flutter - 当 .keepSynced(true) 时,Firebase Realtime .once() 是否仍会下载整个节点?