SQL リファレンス

SQL Server を中心に、SQL に関するテクニックを紹介します

SQL リファレンス

SQL Server を中心に、SQL に関するテクニックを紹介します

SELECTクエリで照合順序を変える方法

画像に alt 属性が指定されていません。ファイル名: image-5.png

SELECT
field_name COLLATE Japanese_CS_AS_KS_WS
FROM
table_name
WHERE
field_name COLLATE Japanese_CS_AS_KS_WS LIKE ‘あいうえおアイウエオ%’

field_name…フィールド名
table_name…テーブル名

などです。
ただし、SQL Serverの互換性レベルによっては、COLLATE構文を認識できずにエラーとなります。
SQL Serverの互換性レベルは、古いバージョンのSQL Serverデータベースをバージョンアップさせた場合、古いままとなっています。
そのため、SQL Serverのバージョンに限らず、互換性レベルが低いデータベースでは、互換性レベルをバージョンアップする必要があります。
互換性レベルをバージョンアップするためのサンプルを掲載します。

/* 互換性を変更するためのSQL */
DECLARE @dbname VARCHAR(40);
SET @dbname = ‘NG01’; — データベース名

DECLARE @oldlvl tinyint;
SELECT @oldlvl = cmptlevel from master.dbo.sysdatabases WHERE name = @dbname;

DECLARE @newlvl tinyint;
SET @newlvl = 70; — 互換性変更後のレベルを指定

IF (@oldlvl = 60) — 現在の互換性レベルが60に満たない場合
BEGIN
exec master.dbo.sp_dbcmptlevel @dbname, @newlvl;
SELECT @ret;
END;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です