sql >> Databáze >  >> RDS >> Sqlserver

Klauzule WHERE na datovém typu SQL Server Text

Můžete použít LIKE místo = . Bez jakýchkoli zástupných znaků to bude mít stejný účinek.

DECLARE @Village TABLE
        (CastleType TEXT)

INSERT INTO @Village
VALUES
  (
    'foo'
  )

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

text je zastaralá. Změna na varchar(max) bude snazší pracovat.

Také jak velká data pravděpodobně budou? Pokud budete provádět srovnání rovnosti, v ideálním případě budete chtít tento sloupec indexovat. To není možné, pokud sloupec deklarujete jako něco širšího než 900 bajtů, i když můžete přidat vypočítaný checksum nebo hash sloupec, který lze použít k urychlení tohoto typu dotazu.



  1. Migrace Laravel:jedinečný klíč je příliš dlouhý, i když je zadán

  2. Jak změním schéma db na dbo

  3. Jak Round() funguje v SQLite

  4. Jak nastavit asynchronní replikaci mezi clustery MariaDB Galera