2013-01-17 122 views
2

我正嘗試使用更新函數刪除第一個白色空白後的所有內容。我已經追平這一點,但不是爲我工作至今... 這裏是我的代碼:刪除sql第一個空白後的所有內容

UPDATE MyTable 
SET MyField= LEFT(MyField, CHARINDEX('', MyField) - 1) 
WHERE CHARINDEX('', MyField) > 0 
+0

什麼是 「不工作」 是什麼意思?而一個空字符串''''與空格不同'''' – Pondlife

回答

11

你在那些單引號之間沒有空間,所以它不匹配任何東西:

UPDATE MyTable       
SET MyField= LEFT(MyField, CHARINDEX(' ', MyField) - 1) 
WHERE CHARINDEX(' ', MyField) > 0; ^-- this should be a space 
       ^-- this should be a space 

SQL Fiddle with Demo

0

的PostgreSQL:

update MyTable set MyField = substring(MyField for (position(' ' in MyField) - 1)) 
where MyField like '% %'; 
相關問題