我有一个带有nvarchar列的表.此列具有值,例如:
> 983
> 294
> a343
> a3546f
等等.
我想把这个值的MAX,但不是文本,而是像数字.所以在这个例子中,数字是:
> 983
> 294
> 343
> 3546
MAX值是最后一个–3546.如何在Microsoft sql上的Tsql中执行此操作?
首先安装正则表达式
函数.
This article有你可以剪切/粘贴的
代码.
然后使用RegexReplace(来自该文章),您可以从字符串中提取数字:
dbo.RegexReplace( '.*?(\d+).*',myField,'$1' )
然后将此字符串转换为数字:
CAST( dbo.RegexReplace( '.*?(\d+).*','$1' ) AS INT )
然后在SELECT中的MAX()函数内使用此表达式.