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

Zapytanie Linq nie działa zgodnie z oczekiwaniami

Jeśli Twój tekst ma NVARCHAR sprawdzanie typu danych pod kątem podobnych liter, które w rzeczywistości nie są takie same:

CREATE TABLE #employee (ID INT IDENTITY(1,1), EmployeeName NVARCHAR(100));

INSERT INTO #employee(EmployeeName) VALUES (N'waidаnde');

SELECT *
FROM #employee
WHERE EmployeeName LIKE '%waidande%';

-- checking
SELECT *
FROM #employee
WHERE CAST(EmployeeName AS VARCHAR(100)) <> EmployeeName;

db<>demonstracja skrzypiec

Tutaj:'а' !='a' . Jeden pochodzi z Cyrillic 'a' a drugi jest normalny.

Pomysł zaczerpnięty z:

PS Gorąco polecam obejrzeć przemówienie Roba Volka:Revenge: The SQL! .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znaczenie nawiasów kwadratowych [] w projektancie tabel MS-SQL?

  2. Twórz tabelę tymczasową z dynamicznym sql w SQL Server 2008

  3. Typy wyliczeniowe w SQL Server 2008?

  4. Jak uzyskać wszystkie tabele, które mają podstawowe ograniczenie klucza utworzone w bazie danych SQL Server — SQL Server / Samouczek TSQL 57

  5. Dlaczego miałby SqlServer select wybrać wiersze, które pasują i wiersze, które pasują i mają końcowe spacje?