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<>フィドルデモ

    ここで:'а' !='a' 。 1つはCyrillicからのものです 'a' 2番目は正常です。

    アイデア:

    P.S. Rob Volkの講演:Revenge: The SQL!をご覧になることを強くお勧めします。



    1. MySQL UNIX_TIMESTAMP for PostgreSQL

    2. ストアドプロシージャを使用してmysqlからメールを送信する方法は?

    3. JOINONとWHEREのOracleSQLクエリフィルタ

    4. Azure上のLaravelアプリ:ユーザー'azure'@'localhost'のアクセスが拒否されました