2013-10-09 164 views
0

所以我有兩列。一個包含一個前綴(nvarchar),另一個包含一個nvarchar,我希望從中刪除前綴,我們將命名該列的單詞。通常去right(words, len(words) - len(prefix)會得到我的答案。然而,讓我們假設詞的開頭有兩個空格,前綴是單個空格。所以我試圖從這個詞的開頭刪除一個空格。 len(前綴)將返回0. datalength(前綴)將返回1,但由於某些字符需要2個字節,我不相信數據長度是答案。刪除TSQL中字符串的前綴

回答

3

試試這個:

RIGHT(words, LEN(words) - (LEN(prefix+'?')-1)) 

編輯:

可能你會發現這一個 「乾淨」:

RIGHT(words, LEN(words) - DATALENGTH(CONVERT(VARCHAR(100),prefix))) 
+0

我真的試圖與此非常相似的東西,它的工作。謝謝。 – dko

+0

只是希望有一個更清潔,更易於閱讀的解決方案。 – dko