Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查找列中的所有5位数字,以便预先显示1_Sql_Tsql - Fatal编程技术网

Sql 查找列中的所有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(

我想在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(
        'aa12345aa',
        patindex('%[^0-9][0-9][0-9][0-9][0-9][0-9][^0-9]%',col)+1,
        1000
    )
;

  • 如果只运行一次
    patindex()
    ,并将结果存储在变量中,则可以改进我的代码
  • 1000只是一个足够大的数字

预挂还是预挂?