UPDATE DocArrangement_History
SET TicketNumber = STUFF(14545, 14, 14, ' ')
WHERE TicketNumber = has / in the 14th digit
所以我想更新我的数据库并删除' /'在我们的一个记录中包含' /'。这样做最有效的方法是什么?我不完全确定使用STUFF功能是否最好。
这是需要更改的票号的示例
1317023835606 / 606-607
答案 0 :(得分:2)
试试这个。它将仅检查第14个字符,并删除它:
UPDATE DocArrangement_History
SET TicketNumber = SUBSTRING(TicketNumber, 1, 13) +
SUBSTRING(TicketNumber, 15)
WHERE SUBSTRING(TicketNumber, 14, 1) = '/'
答案 1 :(得分:2)
这应该可以正常工作,STUFF
,REPLACE
和SUBSTRING
可以完成这项工作。
DECLARE @Test TABLE (TicketNumber VARCHAR(50) NOT NULL);
INSERT @Test (TicketNumber)
VALUES ('1317023835606/606-607');
SELECT TicketNumber
FROM @Test;
-- 1317023835606/606-607
UPDATE @Test
SET TicketNumber = STUFF(TicketNumber, 14, 1, '')
WHERE TicketNumber LIKE '_____________/%';
SELECT TicketNumber
FROM @Test;
-- 1317023835606606-607