我一直忙着满2天发现我的问题的解决方案。我有一个大型数据库,我想替换列中的一组数字。SQL文本列内更换固定的长度,不同的数值
列包含文本和文本中有这种格式FPC1234567890
。 唯一的问题是:数字总是不同的(但总是长10),这3个字母总是相同的。
我尝试这样做:
update [tablename]
SET columnname =
CAST(REPLACE(CAST(columnname as NVarchar(4000)),
'FPC[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]', 'newclientnumber') AS NText)
这是不行的,因为通配符不与替换功能的工作,它的工作,当我居住在列的正确号码中的一个类型。
我能找到我所需要的这个更新:
SELECT * FROM Tablename
WHERE columnname LIKE '%FPC[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%'
标记您正在使用的dbms。 (sql-server也许?) – jarlh