我想從左到第二個-
sku的第一個字母。但在輸出中,我不想讓第二個-
出現。想要從SQL Server列的sku的特定部分
我的輸入表是
查詢:
SELECT SUBSTRING(SKU, charindex('-',SKU), len(SKU) - charindex('-',SKU))
FROM tblname
我的除外輸出
我想從左到第二個-
sku的第一個字母。但在輸出中,我不想讓第二個-
出現。想要從SQL Server列的sku的特定部分
我的輸入表是
查詢:
SELECT SUBSTRING(SKU, charindex('-',SKU), len(SKU) - charindex('-',SKU))
FROM tblname
我的除外輸出
SELECT REVERSE(RIGHT(REVERSE('Hello-World-1'),
LEN('Hello-World-1') - CHARINDEX('-',
REVERSE('Hello-World-1'))))
如果要包括儀表...
SELECT REVERSE(RIGHT(REVERSE('Hello-World-1'), 1 +
LEN('Hello-World-1') - CHARINDEX('-',
REVERSE('Hello-World-1'))))
什麼 「方言」 的SQL是這樣的呢? MS SqlServer?甲骨文? Postgres的? ....字符串操作可能需要一些產品特定的功能或技巧... –
我沒有訪問SQL Server實例,所以我不能提出一個完整的解決方案 - 只有建議。 你可以寫一個_function_爲你做這件事(可能比試圖做所有選擇的部分更有效),或者 - 正如別人所建議的那樣,使用_reverse_來轉換問題:「我需要找到最後一個實例' - '在我的字符串中隔離SKU「更容易處理」我需要找到' - '的第一個實例「,請參閱:http://stackoverflow.com/questions/1024978/find-index-of-last - 使用-t-sql發生錯誤 –