sql >> Database >  >> RDS >> Sqlserver

Hoe een Like op een integerkolom te specificeren?

Helaas heeft u welke database niet opgegeven u gebruikt (SQL is gewoon de querytaal....), maar als u SQL Server (het Microsoft RDBMS-product) gebruikt, dan zou u een berekende kolom van het type VARCHAR(15) om een ​​tekenreeksrepresentatie van uw INT te houden , en zoek daar dan gewoon op....

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

Of dat echt zakelijk zinvol is, is een heel ander verhaal..... (Ik ben het eens met Oded en Matt Ball...)

Maar aangezien dat nu een stringkolom is, zou je je Restrictions.Like moeten kunnen gebruiken aanpak in NHibernate zoals je zegt.



  1. Hoe Emoji (UTF8 4 Byte tekens) in MySQL <5.5 . in te voegen

  2. Hoe de getalnotatie van een berekende kolom te converteren naar tijd (uu:mm:ss) formaat, sql-query

  3. MySQL SELECT afgelopen dagen?

  4. RODBC-fout - ODBC-verbinding mislukt - kan geen verbinding maken met MySQL met mijn mac (mavericks)