1
我試圖找出相當於C#這個SQL的:相當於在C#中的SQL二進制相對值測試
@var1 = "1a1"
@var2 = "1F"
CONVERT(varbinary, @var1) > CONVERT(varbinary, @var2)
是不是一樣的嗎?
if (var1.CompareTo(var2) > 0)
{
}
如果不是,那我該如何模擬它呢?
我試圖找出相當於C#這個SQL的:相當於在C#中的SQL二進制相對值測試
@var1 = "1a1"
@var2 = "1F"
CONVERT(varbinary, @var1) > CONVERT(varbinary, @var2)
是不是一樣的嗎?
if (var1.CompareTo(var2) > 0)
{
}
如果不是,那我該如何模擬它呢?
轉換爲varbinary大概是爲了強制區分大小寫的比較。如果這是唯一的擔憂,那麼是的,這兩個陳述是相同的。
默認字符串比較將區分大小寫。然而,默認的字符串比較將使用當前的文化信息,並可能根據文化對待某些字符串。如果這是您的應用程序的一個問題,那麼您可以使用序數比較來代替,這將產生與varbinary轉換完全相同的結果。
if (String.Compare(var1, var2, StringComparison.Ordinal) > 0)
{
}
你的意思是大小寫敏感,不是不敏感? varbinary不是一個blob類型,因此它不能假設任何內容?它不是基本上比較字節嗎? – 2010-08-20 08:30:22
@Lasse V. karlsen,你是對的,我在答案中有一些不一致之處。現在更正。 – 2010-08-20 15:02:34