2011-06-17 21 views
0

例子:Front Office Manager 0105212000如何提取以下使用SQL Server

只需要10521200,所以我丟棄第一和最後一個字符。

前:

0105212000 

後:

10521200 

這就是我想出了這麼遠。

SELECT DISTINCT NAME, right(DESCRIPTION, 9) as 'DESC', DESCRIPTION 
FROM LABORLEVELENTRY 
WHERE LABORLEVELDEFID = '201' 
    AND INACTIVE = '0' 
ORDER BY NAME 

回答

0

如何:

select left(right('Front Office Manager 0105212000', 9), 8) 

所以:

SELECT DISTINCT NAME, 
    left(right(DESCRIPTION, 9), 8) as 'DESC', DESCRIPTION 
FROM LABORLEVELENTRY 
WHERE LABORLEVELDEFID = '201' 
    AND INACTIVE = '0' 
ORDER BY NAME 
+0

只有當長度固定 – Matthew

+0

@Matthew:自然... – RedFilter

1
SELECT DISTINCT NAME, 
    SUBSTRING(DESCRIPTION, 2, LEN(DESCRIPTION)-2) as 'DESC', 
    DESCRIPTION 
FROM LABORLEVELENTRY 
WHERE LABORLEVELDEFID = '201' 
    AND INACTIVE = '0' 
ORDER BY NAME 
+0

+1你擊敗了我5秒! – Matthew

1
SELECT SUBSTRING (DESCRIPTION , 2 , LEN(DESCRIPTION)-2) 

開始對第二個字符,選擇一切,但最後一個字符

+0

+1也適合你! –