Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie gibt man ein Like für eine Integer-Spalte an?

Leider haben Sie nicht angegeben, welche Datenbank Sie verwenden (SQL ist nur die Abfragesprache ...), aber wenn Sie sich auf SQL Server (dem Microsoft RDBMS-Produkt) befinden, könnten Sie eine berechnete Spalte vom Typ VARCHAR(15) um eine Zeichenfolgendarstellung Ihres INT zu halten , und dann einfach danach suchen....

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%'

Ob das wirtschaftlich wirklich Sinn macht, ist eine ganz andere Geschichte..... (ich stimme Oded und Matt Ball zu...)

Aber da das jetzt eine String-Spalte ist, sollten Sie in der Lage sein, Ihre Restrictions.Like zu verwenden Ansatz in NHibernate, wie Sie erwähnt haben.