2010-01-19 4 views
2

Dans ma base de données MYDB j'ai une table appelée MYTABLE et à l'intérieur j'ai une colonne appelée NAME. Je veux seulement retourner les 100 premiers caractères de la colonne NAME. (NAME peut contenir jusqu'à 2000 caractères).Retourne les 100 premières lettres du champ de la base de données?

Comment cela peut-il être fait dans SQL comme je veux définir les 100 premiers caractères à un label ASP.NET.

Merci d'avance!

+0

Quel type de nvarchar colonne, varchar, ntext, texte, char ou nchar? –

+0

8 réponses dans 6sec –

+0

Ouais, était une question facile maintenant que je vois à quel point c'est facile! – Etienne

Répondre

3

sélection gauche (NOM, 100) Nom, ... à partir MYTABLE ...

+0

Merci, puisque vous avez répondu en premier, j'ai marqué le vôtre! – Etienne

3

Vous pouvez utiliser la fonction LEFT, par exemple

SELECT LEFT(mt.NAME, 100) AS SHORTNAME FROM MYTABLE mt 
2

utilisation Substring:

SELECT SUBSTRING(NAME, 1, 100) AS [ShortName] 
FROM MYTABLE 
1

SELECT SUBSTRING (NOM, 0, 100) DE MYTABLE

+0

La sous-chaîne a un indexeur 1, pas 0. – cjk

1

utilisation de la fonction SUBSTRING:

SELECT SUBSTRING(NAME, 1, 100) AS LABEL FROM MYTABLE 
1

Utilisez la fonction LEFT:

SELECT LEFT(NAME, 100) AS NAME FROM MYTABLE 
1

Je l'aime avec des points pour montrer qu'il ya plus de texte

SELECT 
    CASE 
    WHEN LEN(NAME) <= 100 THEN NAME 
    ELSE LEFT(NAME, 97) + '...' 
    END SHORTNAME 
FROM TABLE 
Questions connexes