2016-02-13 66 views
1

空白我有這樣的一個表:替換;在SQL

DECLARE @T TABLE 
(note VARCHAR (50)) 

INSERT @T 
SELECT 'Amplifier' 
UNION ALL SELECT ';' 
UNION ALL SELECT 'Regulator' 

我怎麼能代替分號(​​3210)與空白('')。

預期輸出:

Amplifier 
''   -- here semicolon replace with blank 
Regulator 
+0

我認爲這個擔憂MS SQL Server? –

回答

2

如果你想從任何輸出單元全部替換分號,你可以使用REPLACE這樣的:

SELECT REPLACE(note,';','') AS [note] FROM @T 
2

從給定的表中讀取,使用CASE聲明:

SELECT CASE WHEN note = ';' THEN '' ELSE note END AS note FROM @T; 

replace()將取代所有出現的字符。似乎並不像你想要的那樣。該表達式僅替換整個字符串的精確匹配。

1

它看起來像你需要REPLACE所有分號:

DECLARE @T TABLE 
(note VARCHAR (50)) 

INSERT INTO @T 
SELECT REPLACE(SourceColumn, ';', '') 
FROM SourceTable