Sql 查找列中的所有5位数字,以便预先显示1
我想在SQL2008中的一列中找到所有五位数字。它们可能以各种形式出现,如12345.001或12345-001,文本在数字前面或后面。一旦我确定了号码,我想预先添加一个5位数字中的1,请尝试以下操作:Sql 查找列中的所有5位数字,以便预先显示1,sql,tsql,Sql,Tsql,我想在SQL2008中的一列中找到所有五位数字。它们可能以各种形式出现,如12345.001或12345-001,文本在数字前面或后面。一旦我确定了号码,我想预先添加一个5位数字中的1,请尝试以下操作: select substring( col, 1, patindex('%[^0-9][0-9][0-9][0-9][0-9][0-9][^0-9]%',col)) + '1' + substring(
select
substring(
col,
1,
patindex('%[^0-9][0-9][0-9][0-9][0-9][0-9][^0-9]%',col))
+
'1'
+
substring(
'aa12345aa',
patindex('%[^0-9][0-9][0-9][0-9][0-9][0-9][^0-9]%',col)+1,
1000
)
;
- 如果只运行一次
,并将结果存储在变量中,则可以改进我的代码patindex()
- 1000只是一个足够大的数字