Monday, June 21, 2010

MSSQL: case sensitive query

Pada blog sebelum nya, kami sudah membahas tentang query dengan case sensitive pada mysql.
Kali ini, kami akan membahas hal yang sama pada database Microsoft SQL Server.

Seperti pada MySQL, pada MSSQL kita dapat menambahkan text berikut ini untuk query case:
- sensitive: COLLATE Latin1_General_CS_AS
- insensitive: COLLATE SQL_Latin1_General_CP1_CI_AS

SELECT UserId, Name FROM TableUser WHERE Name COLLATE SQL_Latin1_General_CP1_CI_AS LIKE '%j%'
Query di atas akan mengahasilkan Name dengan case insensitive.

SELECT UserId, Name FROM TableUser WHERE Name COLLATE Latin1_General_CS_AS LIKE '%j%'
Query di atas akan mengahasilkan Name dengan case sensitive.

Selain itu, pada MSSQL kita dapat menentukan suatu field adalah case sensitive atau tidak, untuk mengetahui nya, silahkan query perintah berikut:
EXEC sp_help 'namaTable'
Perhatikan informasi Collation pada hasil query dari perintah di atas pada field yang mau kita gunakan pada query.

Berikut ini perintah dapat merubah Collation pada suatu field:
ALTER TABLE NamaTable ALTER COLUMN Name VARCHAR(255) COLLATE Latin1_General_CS_AS
Perintah di atas akan membuat query ke field Name menjadi case sensitive walaupun tidak ditambahkan perintah COLLATE Latin1_General_CS_AS pada query.

Selamat mencoba, bila mempunyai pertanyaan yang berhubungan dengan software, jangan ragu hubungi info@aerje.com

http://blog.aerje.com

No comments:

Post a Comment

Web Analytics