2010-11-18 5 views
0

:Simgeleri, veritabanı varsayılan harmanlamadan farklı olarak nasıl karşılaştırırsınız? benim diğer sorunun cevabını Subquestioning

Nasıl daha iyi açıkça varsayılan bir veritabanı harmanlama farklı bir harmanlama kullanarak 2 (non-N ') sembollerini karşılaştırmak?

Güncelleştirme:

  • bir eşittir

    use dbName; 
    --here I alternated different db names with different collations 
    
    declare @s1 nchar(1)='à' 
    declare @s2 nchar(1)='a' 
    select 
        case 
        when @s1 <> @s2 Then 'a is NOT equal à' 
        else 'a is equal to à' 
        end 
    collate latin1_General_CS_AS 
    

    çıkış) bir veri tabanından ekstre edilen değerler char() ya da varchar (karşılaştırma ve S1 ve @ s2 @ değişkenleri koymak gerekir (LATIN1_General_CI_AI varsayılan harmanlama ile veritabanı üzerinde) à için

  • bir Latin1_General_CI_AS ile db üzerinde eşit à (dEĞİLDİR

cevap

2

Sen nasıl dizeleri harmanlamak ziyade karşılaştırma için daha ve 'a à eşittir', 'bir eşit à DEĞİLDİR' anlatiyorsun:

declare @s1 nchar(1)='à' 
declare @s2 nchar(1)='a' 
select 
    case 
    when @s1 <> @s2 collate latin1_General_CS_AS Then 'a is NOT equal à' 
    else 'a is equal to à' 
    end 
+0

mümkün bir varsayılan veritabanı harmanlama geçersiz kılmak için mi her deyimde COLLATE yazmayı yerine işlem bloğu mu? –

+0

@ vgv8 - Bunu yapmanın herhangi bir yolunun farkında değilim - harmanlama yardımı, http://msdn.microsoft.com/en-us/library/ms184391.aspx, yalnızca kullanılabilecek 3 yeri gösterir (DB tanımını, sütun tanımını ve harmanlama dökümlerini burada yapıyoruz). –

İlgili konular