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

Linq-forespørgsel opfører sig ikke som forventet

Hvis din tekst har NVARCHAR datatype check for lignende bogstaver, der i virkeligheden ikke er de samme:

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-demo

Her:'а' !='a' . Den ene er fra Cyrillic 'a' og den anden er normal.

Idé taget fra:

P.S. Jeg anbefaler stærkt at se Rob Volks tale:Revenge: The SQL! .



  1. Mysql Gennemsnit på tid kolonne?

  2. Opdater tabelkolonneværdier baseret på betinget logik

  3. Sådan rettes 'java.sql.SQLFeatureNotSupportedException', mens du bruger metoden createArrayOf()

  4. Streaming direkte til en database