假设我有一些如下所示的字段:
abd738927
jaksm234234
hfk342
ndma0834
jon99322
类型:varchar。
如何仅从中获取数值来显示:
738927
234234
342
0834
99322
尝试过子字符串,但数据长度不同,并且由于无法转换而无法进行强制转换,有什么想法吗?
最佳答案
这是 PATINDEX 的示例:
select SUBSTRING(fieldName, PATINDEX('%[0-9]%', fieldName), LEN(fieldName))
这假设 (1) 该字段将有一个数字,(2) 这些数字全部分组在一起,并且 (3) 数字后面没有任何后续字符。
关于SQL 仅从 varchar 中获取数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11333078/