sql - Sybase SQL:如何从 varchar 值中提取数字?
问题描述
我有一堆值(varchars),部分由字母(其中字母数> = 0)和部分数字组成。
例如:
abc-123
defjke12345
987654
sybase sql中是否有一个函数可以提取由数字组成的值部分?
继续给出的例子,
abc-123 should become 123
defjke12345 should become 12345
987654 should stay 987654
如何在 sybase sql(过程语言)中实现这一点?
解决方案
用子字符串和模式索引试试这个:
DECLARE @yourfield VARCHAR(100)
SELECT @yourfield ='defjke12345'
SELECT SUBSTRING(@yourfield , PATINDEX('%[^0-9][0-9]%', @yourfield ) + 1,
PATINDEX('%[0-9][^0-9]%', @yourfield ) - PATINDEX('%[^0-9][0-9]%', @yourfield ))
推荐阅读
- html - HTML嵌套表不嵌套
- java - 片段内的选项卡式布局无法正常工作
- python - 在 TensorFlow 中滚动列表
- linux - bpftrace:uprobe 目标文件不存在或不可执行
- swift - 添加时间间隔。例如小时、分钟和秒
- testing - 假设在进行自动化测试而不是手动测试特定网页时花费更多时间的原因可能是什么?
- sonarqube - 我无法导入 dotCover 报告(Sonarqube)
- apache-kafka - 从生产者发布消息时,模式 ID 是每次作为记录的一部分发送还是仅针对新注册的模式?
- java - 无法使用 Intellij IDEA 运行 Java 代码(通过打开项目)
- matplotlib - 左上角的 Matplotlib 值并将其删除