SQL删除字段的一部分
我有一个字段,它是由逗号分隔的数字列表,如下所示:SQL删除字段的一部分,sql,Sql,我有一个字段,它是由逗号分隔的数字列表,如下所示: 001,002,003... 我想通过删除以下数字之一来更新我的字段: UPDATE table SET column = REPLACE (column, '002', '') 我要这个: 001,,003... 我的问题是逗号,因为我不知道我的号码是在我的开始,在中间还是在结尾。所以我不能这样做: UPDATE table SET column = REPLACE (column, '002,', '') 有什么建议吗?非常感谢!:)
001,002,003...
我想通过删除以下数字之一来更新我的字段:
UPDATE table SET column = REPLACE (column, '002', '')
我要这个:
001,,003...
我的问题是逗号,因为我不知道我的号码是在我的开始,在中间还是在结尾。所以我不能这样做:
UPDATE table SET column = REPLACE (column, '002,', '')
有什么建议吗?非常感谢!:) 那么:
UPDATE table
SET column = SUBSTRING(
REPLACE (',' + column, ',002', '')
, 2, 10000)
或者您可以使用STUFF删除第一个字符。解决方案:停止在一列中使用多个逗号分隔的值!它甚至与数据库设计的第一个标准形式相违背,如果你有“002003”,它将给你“02003”,那是一个错误problem@user3884887:不,那将给你'003',这是正确的。除了你的问题“001002003…”之外,没有空格。如果(错误地)有空格,只需添加一个替换(字段“”,“”)。您应该规范化数据库设计的另一个原因。如果您使用mysql,并且它的子字符串从索引0而不是1开始,则必须使用子字符串(…,1,10000)