2009-10-03 6 views
1

Dans un tableau, j'ai un champ de texte. Je dois pouvoir sélectionner seulement les 200 premiers caractères du champ - mais LEFT ne fonctionne pas avec les champs TEXT.Utilisation de LEFT sur un champ TEXT dans SQL Server

Que faire?

+0

Êtes-vous sûr que vous voulez les 200 premiers caractères * * * et non les phrases contenues dans les 200 premiers caractères *? – aviraldg

+0

Ce serait encore mieux - mais c'est une autre question. :) – Kjensen

Répondre

6

au lieu de gauche. essayez avec SUBSTRING

par exemple: select SUBSTRING(TEXT,1,200) from dbo.tblText

+0

intéressant! Je ne pensais pas que SUBSTRING fonctionnerait sur une colonne TEXT - mais c'est effectivement le cas! Je suis étonné ....... –

+0

son travail :). J'ai testé – anishMarokey

+0

Génial! Étrange que la sous-chaîne fonctionne, mais pas à gauche. Je pense que LEFT a implémenté Subtext pour faire le gros travail. – Kjensen

4

Vous ne pouvez pas appliquer de fonctions de manipulation de chaîne sur les champs TEXT - vous devriez quand même arrêter d'utiliser TEXT, car il sera bientôt supprimé de SQL Server!

Ce que vous pouvez faire est de convertir votre colonne TEXT à VARCHAR (MAX) Et puis utilisez la chaîne gfunction:

SELECT LEFT(CAST(YourTextCol AS VARCHAR(MAX), 200) ..... 
Questions connexes