私のSQLは非常に単純です。バージョン:SQL Server 2008
UPDATE dbo.abc SET UrlName='L££££'WHEREabcID = 10;
abcID=10であるabcからUrlNameを選択します。
私が得るものは
「LLLLL」
SELECT @@ languageに問い合わせたところ、「British」です。だから、それが文化の設定についてだとは思わないでください。
何かご意見は?
私のSQLは非常に単純です。バージョン:SQL Server 2008
UPDATE dbo.abc SET UrlName='L££££'WHEREabcID = 10;
abcID=10であるabcからUrlNameを選択します。
私が得るものは
「LLLLL」
SELECT @@ languageに問い合わせたところ、「British」です。だから、それが文化の設定についてだとは思わないでください。
何かご意見は?
£
そのコードページでサポートされている文字の1つではありません。
それらをすべて見るには、使用できます
DECLARE @Collations TABLE
(
code TINYINT PRIMARY KEY,
Slovenian_CI_AS CHAR(1) COLLATE Slovenian_CI_AS
);
WITH E00(N) AS (SELECT 1 UNION ALL SELECT 1), --2
E02(N) AS (SELECT 1 FROM E00 a, E00 b), --4
E04(N) AS (SELECT 1 FROM E02 a, E02 b), --16
E08(N) AS (SELECT 1 FROM E04 a, E04 b) --256
INSERT INTO @Collations
(code)
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 0)) - 1
FROM E08
UPDATE @Collations
SET Slovenian_CI_AS = CAST(code AS BINARY(1))
SELECT *
FROM @Collations
nvarchar
列の照合を変更するか、ではなくを使用する必要がありますvarchar
。
データベースの照合が残っている場合に選択するオプションは、最初にそのコードページに強制変換されないように、文字列リテラルにプレフィックスをSlovenian_CI_AS
追加する必要があります。N
UPDATE dbo.abc
SET UrlName = N'L££££'
WHERE abcID = 10;