Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment spécifier un Like sur une colonne entière ?

Malheureusement, vous n'avez pas spécifié quelle base de données vous utilisez (SQL n'est que le langage de requête....), mais si vous êtes sur SQL Server (le produit Microsoft RDBMS), vous pouvez créer une colonne calculée de type VARCHAR(15) pour contenir une représentation sous forme de chaîne de votre INT , puis faites une recherche là-dessus...

ALTER TABLE dbo.YourTable
   ADD IdAsString AS CAST(Id AS VARCHAR(15)) PERSISTED    -- PERSISTED might not work - depending on your version of SQL Server

SELECT (list of columns)
FROM dbo.YourTable
WHERE IdAsString LIKE '123%'

Que cela ait vraiment un sens commercial, c'est une histoire totalement différente... (Je suis d'accord avec Oded et Matt Ball...)

Mais comme il s'agit maintenant d'une colonne de chaîne, vous devriez pouvoir utiliser votre Restrictions.Like approche dans NHibernate comme vous le mentionnez.