2011-06-17 25 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也适合你! –