sql >> Databasteknik >  >> RDS >> Sqlserver

Linq-frågan fungerar inte som förväntat

Om din text har NVARCHAR datatypkontroll efter liknande bokstäver som i verkligheten inte är desamma:

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

Här:'а' !='a' . En är från Cyrillic 'a' och den andra är normal.

Idén hämtad från:

P.S. Jag rekommenderar starkt att du tittar på Rob Volks tal:Revenge: The SQL! .



  1. Oracle:Dynamisk SQL

  2. Användning av PDO uppstod undantag kunde inte hitta drivrutinen

  3. Anslut mellan visual och oracle

  4. Bör procedurer och/eller funktioner i paketet DBMS_STANDARD användas i PL/SQL-kod?