sql >> Databasteknik >  >> RDS >> Sqlserver

Hur anger man ett like på en heltalskolumn?

Tyvärr angav du inte vilken databas du använder (SQL är bara frågespråket...), men om du använder SQL Server (Microsoft RDBMS-produkten) kan du skapa en beräknad kolumn av typen VARCHAR(15) för att hålla en strängrepresentation av din INT , och sedan är det bara att söka på det...

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

Huruvida det verkligen är affärsmässigt vettigt är en helt annan historia..... (Jag håller med Oded och Matt Ball...)

Men eftersom det nu är en strängkolumn bör du kunna använda dina Restrictions.Like tillvägagångssätt i NHibernate som du nämner.



  1. SQL Server 2008:Jag har 1000 tabeller, jag behöver veta vilka tabeller som har data

  2. Rails Console hittar användare efter en mängd ID

  3. Hur väljer jag TOP 5 PROCENT från varje grupp?

  4. Hur hittar jag alla triggers som är associerade med en tabell med SQL Server?