Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como especificar um Like em uma coluna inteira?


Infelizmente, você não especificou qual banco de dados você está usando (SQL é apenas a linguagem de consulta...), mas se você estiver no SQL Server (o produto Microsoft RDBMS), poderá criar uma coluna computada do tipo VARCHAR(15) para manter uma representação de string de seu INT , e depois é só pesquisar sobre isso ....
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%'

Se isso realmente faz sentido para os negócios, é uma história totalmente diferente..... (concordo com Oded e Matt Ball...)

Mas como essa é uma coluna de string agora, você deve poder usar seu Restrictions.Like abordagem no NHibernate como você mencionou.