2011-06-17 2 views
0

Exemple: Front Office Manager 0105212000Comment extraire les éléments suivants en utilisant SQL Server

besoin seulement 10521200, je suis donc laisser tomber le premier et dernier caractères.

Avant:

0105212000 

Après:

10521200 

Voici ce que je suis venu avec jusqu'à présent.

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

Répondre

0

Que diriez-vous:

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

Alors:

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

Seulement si la longueur est fixe – Matthew

+0

@Matthew: naturellement ... – 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 Vous me battez de 5 secondes! – Matthew

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

À partir du deuxième caractère, sélectionnez tout le reste, mais le dernier caractère

+0

+1 pour vous aussi! –

Questions connexes