- t_yamatoya
- 5462
- 0
- 0
- 1
SQL Azure は、varchar の扱いが本当に難しい。せっかく varchar で定義しても、アプリケからは nvarchar として利用しないといけない(日本語の扱いに N プレフィックスが必須)。これだと CONVERT_IMPLICIT が発生してしまう。
2010-08-16 06:05:47SQL Azure で varchar で定義すると、LINQ to SQL や ADO.NET Entity Framework からは、日本語の扱いが.... varchar 定義には、(内部的に) N プレフィックスが付いてないので。。
2010-08-16 06:07:42nvarchar にすると、varchar よりも性能が出せないから、nvarchar は使いたくない。でも、SQL Azure で varchar に使おうとすると、パラメーターに nvarchar を指定しないといけないから暗黙の型変換のオーバーヘッドが発生する。悩ましい
2010-08-16 06:11:07SQL Azure は、「照合順序を指定しないと日本語化けます!」と自信を持って言い切っている人たちは、私の執筆した自習書をミスリードしております。エバの方々、ご注意くださいませ m(_ _)m
2010-08-16 06:27:31SQL Azure は、nvarchar なら、既定の照合順序 SQL_Latin1_General_CP1_CI_AS でも日本語化けません。N プレフィックスは必須です。
2010-08-16 06:28:43だからと言って、照合順序を指定しなくて良い! という意味ではないです。140字だと、説明的なものは、説明しづらい。。
2010-08-16 06:32:06心配なので確認ですがSQL AzureがSQL_Latin1_General_CP1_CI_ASということは照合順序の指定で変わるのはテーブルに対してのSQLのソートや比較だけですよね? QT @matu_tak: SQL Azure は、nvarchar なら、既定の照合順序
2010-08-16 06:46:03