Eu tenho uma mesa com duas colunas ID
e Value
. Eu quero mudar uma parte de algumas strings na segunda coluna.
Exemplo de tabela:
ID Value
---------------------------------
1 c:\temp\123\abc\111
2 c:\temp\123\abc\222
3 c:\temp\123\abc\333
4 c:\temp\123\abc\444
Agora 123\
, a Value
string não é necessária. Eu tentei UPDATE
e REPLACE
:
UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4
Quando executo o script, o SQL Server não relata um erro, mas também não atualiza nada. Por que é que?
sql
sql-server
string
sql-server-2008
replace
aston_zh
fonte
fonte
Respostas:
Você não precisa de curingas no
REPLACE
- ele apenas encontra a sequência digitada para o segundo argumento; portanto, o seguinte deve funcionar:(Também adicionei o
\
na substituição, pois presumo que você também não precise)fonte
`? isn't that escaping the
caractere `` e tornando isso incorreto?Tente remover
%
caracteres como abaixofonte
Para acelerar a consulta em grandes tabelas em que nem todas as linhas precisam ser atualizadas, você também pode optar por atualizar apenas as linhas que serão modificadas:
fonte
inquerir:
fonte
Você tem uma tabela na qual você tem o código da data, que tem sete caracteres, algo como
Agora você deseja substituir todos
Com
A consulta SQL que você precisa executar é
fonte
Para quem quiser substituir o seu script.
update dbo.[TABLE_NAME] set COLUMN_NAME= replace(COLUMN_NAME, 'old_value', 'new_value') where COLUMN_NAME like %CONDITION%
fonte
fonte
você deve usar a consulta de atualização abaixo
Qualquer uma das consultas acima deve funcionar.
fonte
substituir por palavra persa
ajuda: dbo.TblNews - nome da tabela
Palavras-chave - nome do usuário
fonte