Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Linq заявката не се държи според очакванията

Ако вашият текст има NVARCHAR проверка на типа данни за подобни букви, които в действителност не са еднакви:

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<>демонстрация на fiddle

Тук:'а' !='a' . Единият е от Cyrillic 'a' а второто е нормално.

Идеята е взета от:

P.S. Силно препоръчвам да гледате говора на Роб Волк: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. Какво е STATISTICS XML в SQL Server?

  2. Досадно SQL изключение, вероятно поради грешен код

  3. От .NET мога ли да получа пълния SQL низ, генериран от SqlCommand обект (с SQL параметри)?

  4. ефективен начин за прилагане на пейджинг

  5. Кой е най-добрият начин за копиране на база данни?