Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Clausola WHERE sul tipo di dati Testo di SQL Server

Puoi usare LIKE invece di = . Senza caratteri jolly questo avrà lo stesso effetto.

DECLARE @Village TABLE
        (CastleType TEXT)

INSERT INTO @Village
VALUES
  (
    'foo'
  )

SELECT *
FROM   @Village
WHERE  [CastleType] LIKE 'foo' 

text è deprecato. Passaggio a varchar(max) sarà più facile lavorare con.

Inoltre, quanto è probabile che siano grandi i dati? Se hai intenzione di eseguire confronti di uguaglianza, idealmente vorrai indicizzare questa colonna. Questo non è possibile se dichiari la colonna come qualcosa di più ampio di 900 byte anche se puoi aggiungere un checksum calcolato o hash colonna che può essere utilizzata per velocizzare questo tipo di query.