示例我有这个varchar'XXXOXOXXOX'和'XOXOXOXXXX'。我需要将第5个“ X”文本从单个字符串列中的总共10个文本更新为“ O”。因此,更新后的结果将是“ XXXOOOXXOX”和“ XOXOOOXXXX”。请帮忙。
答案 0 :(得分:0)
这是我在MySQL中要做的事情:
UPDATE yourTable
SET col = CONCAT(LEFT(col, 4), 'O', SUBSTR(col, 6))
WHERE SUBSTR(col, 5, 1) = 'X';
更通用的ANSI SQL答案是:
UPDATE yourTable
SET col = LEFT(col, 4) || 'O' || SUBSTR(col, 6))
WHERE col LIKE '____X%';
答案 1 :(得分:0)
在SQL Server中,您可以执行以下操作:
UPDATE yourTable
SET col = STUFF(col, 5, 1, '0')
WHERE col = '____X%';
在MySQL中,
UPDATE yourTable
SET col = INSERT(col, 5, 1, '0')
WHERE col = '____X%';