sql >> データベース >  >> RDS >> Sqlserver

SELECT DISTINCT a, b FROM... が返すレコードが SELECT DISTINCT A + '|' よりも少ないのはなぜですか? + B フロム...?

    末尾のスペースが原因である可能性があります。文字列比較の場合、これらは無視されます。

    CREATE TABLE #T
    (
    a varchar(10),
    b varchar(10),
    c varchar(10)
    )
    
    INSERT INTO #T
    SELECT 'a ' as a, 'b' as b, 'c ' as c union all
    SELECT 'a' as a, 'b' as b, 'c ' as c
    
    SELECT DISTINCT a, b, c  
    FROM #T /*1 result*/
    
    SELECT DISTINCT a + '|' + b + '|' + c + '|'   
    FROM #T /*2 results*/
    
    
    SELECT DISTINCT LTRIM(RTRIM(a)) + '|' + LTRIM(RTRIM(b)) + '|' +
                    LTRIM(RTRIM(c)) + '|'   
    FROM #T /*1 result*/
    


    1. MySQLデータベースのデータの合計サイズをどのように確認しますか?

    2. 2つの異なるクラスで使用される所有タイプのEFコア構成の問題

    3. トランザクション ロールバックを使用しても SQL ID (自動番号) がインクリメントされる

    4. iReportで繰り返し値を除外できません