Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Klauzula WHERE dotycząca typu danych SQL Server Text

Możesz użyć LIKE zamiast = . Bez symboli wieloznacznych będzie to miało ten sam efekt.

DECLARE @Village TABLE
        (CastleType TEXT)

INSERT INTO @Village
VALUES
  (
    'foo'
  )

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

text jest przestarzałe. Zmiana na varchar(max) będzie łatwiej pracować.

Jak duże mogą być dane? Jeśli zamierzasz dokonywać porównań równości, idealnie zechcesz zindeksować tę kolumnę. Nie jest to możliwe, jeśli zadeklarujesz kolumnę szerszą niż 900 bajtów, chociaż możesz dodać obliczoną checksum lub hash kolumna, której można użyć do przyspieszenia tego typu zapytań.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przedefiniować kolumny zwracane przez procedurę składowaną w SQL Server

  2. Gdzie wartość w kolumnie zawierającej wartości oddzielone przecinkami

  3. Monitoruj bazę danych SQL przez SP_WhoIsActive lub FogLight | Rozwiązywanie problemów z wydajnością serwera SQL -1

  4. SET TEXTSIZE Nie działa w programie SQL Server? Sprawdź to.

  5. Instrukcja ALTER TABLE kolidowała z ograniczeniem CHECK w SQL Server - SQL Server / TSQL Tutorial Part 89