2015-05-27 22 views

回答

6

嘗試使用STUFF功能

SELECT CASE WHEN LEFT('000303',1) = '0' THEN STUFF('000303',1,1,'') ELSE '000303' END 

或使用RIGHT功能

SELECT CASE WHEN LEFT('000303',1) = '0' THEN RIGHT('000303', LEN('000303')-1) ELSE '000303' END 

而不是LEFT('000303',1) = '0'檢查你也可以使用

charindex('0','000303') = 1

'000303' LIKE '0%'(ughai建議)

+1

看到這個問題和思想,'STUFF'非常適合此處,然後看到你的答案。 :)。那麼你甚至可以使用''000303'LIKE'0%''如果你正在尋找'LEFT('000303',1)='0''的替代品' – ughai

+0

@ughai - 感謝兄弟更新。 –

+0

謝謝,我將探討STUFF功能。 – Maxime

1

試試這個:

SELECT RIGHT(MyColumn, LEN(MyColumn) - 1) 

這將從varchar列中移除第一個字符。

如果它是特定0,那麼試試這個:

SELECT CASE WHEN LEFT(MyColumn,1) = '0' 
    THEN RIGHT(MyColumn, LEN(MyColumn) - 1) 
    ELSE 
    MyColumn END 
+1

Downvoter關心評論! –

+4

第一條總是第一個字符,第二個如果列不以'0'開始則返回NULL –

+0

當我看到最初的答案時,在它被忍者編輯之前,它只會說「試試這個: SELECT RIGHT MyColumn,LEN(MyColumn) - 1) 這將從varchar列中移除第一個字符「,這是一個不完整的答案。由於JamesZ所說的原因,忍者的編輯不是一種改進。 – LittleBobbyTables

0

喜歡的東西

SELECT CASE WHEN LEFT(Mycol,1) = '0' THEN SUBSTRING(MyCOL, 2, LEN(MyCOL)) END