Sybase SQL:如何从 varchar 值中提取数字?
Sybase SQL: How to extract numbers from varchar-values?
我有一堆值 (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 ))
我有一堆值 (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 ))