2011-01-07 3 views
2

SQL Server 2005のマシンで、いくつかの文字を含むダウンストリームシステムのデータを準備する際に、すべての 'f'文字が削除されてしまうバグがありました限界。SQL Server 2005の 'φ'から 'f'への翻字に関する問題

私が見つけたのは、 'φ'文字を ''に置き換えることを試みていたUDFの中に文があるということでした。問題は、少なくともSQL Serverのインストールでは、「φ」と「f」は同じことです。

「φ」と「f」を区別する最良の方法は何ですか?

例:私にとって

select case when 'φ' = 'f' then 'equal' else 'not equal' end 

それはデフォルトの照合に強制されませんので、これは文字列リテラルで使用N'φ'「等しい」

+1

何**照合**あなたは、サーバー上およびデータベースを持っていますか? –

+0

ただチェックしました。これはSQL_Latin1_General_CP1_CI_ASです。 – smcmahon

答えて

6

を返します。 (SQL_Latin1_General_CP1_CS_AS下)私にとっては

select case when 'φ' = 'f' then 'equal' else 'not equal' end /*equal*/ 

select case when N'φ' = 'f' then 'equal' else 'not equal' end /*not equal*/ 
+0

+1すてきな答え! –

関連する問題