2016-01-17 115 views
3
select rtrim(ltrim(replicate ('PAWANKALYAN       ' , 2))) 

爲什麼這段代碼沒有刪除任何空格?複製功能

+0

爲什麼你認爲這段代碼不會刪除空格?在用空格兩次複製字符串後,將它們從左側和右側移除。 –

+0

您正在使用哪些DBMS? –

回答

0
UPDATE table 
SET COLUMN =SELECT Replace(COLUMN,'wordreplace','replace with') 
WHERE COLUMN LIKE '%wordreplace%'; 

試試這個代碼

0

由於重複造成的空間不是要對字符串的左側和右側。

replicate ('PAWANKALYAN ' , 2)將產生字符串:

PAWANKALYAN PAWANKALYAN .(不.)。

您需要修剪然後複製
select replicate (rtrim(ltrim('PAWANKALYAN ')), 2)

哪位能給 PAWANKALYANPAWANKALYAN作爲結果。

2

LTRIM/RTRIM不會刪除TAB字符。您需要使用REPLACE功能刪除TAB空間功能

ASCII標籤的值爲9。您可以使用CHAR(9)與空字符串替換TAB字符

SELECT Rtrim(Ltrim(Replace(Replicate('PAWANKALYAN       ' , 2),Char(9),''))) 

其他可能whitespace比其它空間字符CHAR(10) & CHAR(13)。有關ASCII值的更多信息,請參閱here

0

您需要將複製移出到嵌套函數的最外面部分。嵌套函數的順序很重要。在這種情況下,修整必須首先發生:

select REPLICATE(LTRIM(RTRIM('PAWANKALYAN       ')), 2)