Jak usunąć wartość z ciągu w SQL Server?Jak usunąć znak z kolumny w SQL Server?
Odpowiedz
Odbywa się to za pomocą funkcji REPLACE
rozebrać się "someString" z "SomeColumn" w "SomeTable" w zapytaniu SELECT:
SELECT REPLACE([SomeColumn],'somestring','') AS [SomeColumn] FROM [SomeTable]
zaktualizować tabelę i taśmy z „someString "z«SomeColumn»w«SomeTable»
UPDATE [SomeTable] SET [SomeColumn] = REPLACE([SomeColumn], 'somestring', '')
Użyj funkcji „Replace” ciąg na kolumnie w pytaniu:
UPDATE (yourTable)
SET YourColumn = REPLACE(YourColumn, '*', '')
WHERE (your conditions)
zastąpić „*” z charakterem chcesz rozebrać się i określ WHERE aby dopasować wiersze, które chcesz zastosować aktualizacja do.
Oczywiście, można również użyć funkcji REPLACE - jak pokazał inny odpytywacz - w instrukcji SELECT - z twojego pytania zakładałem, że próbujesz zaktualizować tabelę.
Marc
Spójrz na następującą funkcją - replace():
select replace(DataColumn, StringToReplace, NewStringValue)
//example to replace the s in test with the number 1
select replace('test', 's', '1')
//yields te1t
http://msdn.microsoft.com/en-us/library/ms186862.aspx
EDIT
Jeśli chcesz usunąć łańcuch, wystarczy użyć funkcji replace z pustym łańcuchem jako t on trzeci parametr jak:
select replace(DataColumn, 'StringToRemove', '')
UPDATE [TableName]
SET [ColumnName] = Replace([ColumnName], '[StringToRemove]', '[Replacement]')
W instancji byłoby
UPDATE [TableName]
SET [ColumnName] = Replace([ColumnName], '[StringToRemove]', '')
Ponieważ nie ma zastępcza (chcesz się go pozbyć).
To będzie działać w każdym wierszu określonej tabeli. Nie ma potrzeby stosowania klauzuli WHERE, chyba że chcesz podać tylko określone wiersze.
SQLServer wykorzystuje apostrofów zamiast cudzysłowów – ichiban
@ichiban - mam nadzieję, że nadal jest someth Poprawki SQL. Byłoby miło, gdyby to było spójne, biorąc pod uwagę, że pojedynczy cytat może skomentować kod VB ... Edytowałem post. Dzięki! – RSolberg