INT est un INT est un INT - il est juste une valeur numérique. Un INT ne "ressemble" pas à une valeur de chaîne ..... si vous voulez comparer avec LIKE, vous avez besoin d'une chaîne - vous devez convertir votre INT en une chaîne pour pouvoir le faire.
Si vous avez besoin de rechercher et de comparer contre cette représentation de chaîne de votre INT beaucoup, je recommande ce qui en fait une calculée, persista colonne sur votre table:
ALTER TABLE dbo.YourTable
ADD IntString AS LEFT(CAST(YourInt AS VARCHAR(20)), 4) PERSISTED
De cette façon, vous obtenez une nouvelle colonne qui a une valeur à l'intérieur, cette valeur est toujours à jour, c'est une colonne persistante, vous pouvez l'indexer si nécessaire - vous obtenez tous les avantages de comparer votre "int" avec l'opérateur LIKE
:-)
Quel est le type de colonne? Vous dites que c'est un nombre entier mais vous impliquez en utilisant une fonction de chaîne. – mdma
Et s'il s'agit d'un nombre entier, tous les nombres ont-ils la même longueur? par exemple. 1500123, 1500751 etc –
@mdma - c'était mon point. La colonne est un entier mais je veux faire une chaîne comme opération dessus. @Martin smith - Non – Prashant