2012-04-13 2 views
4

Microsoft SQL ServerでLikeキーワードを作成すると、大文字と小文字が区別されます。Microsoft SQL Serverのようなキーワード

名前: 'David'のようにすべての名前がDavidまたはdavidまたはdaVidなどになります。 私の目標はDavidのみを取得することです。私は専門家とは異なる方法を知りたいと考えています。

+3

を、データが格納されている方法は?どのDBMSですか? – Anonymous

+0

SQL Server 2008 R2 –

+0

SQL Colationを使用して私のソリューションを試しましたか? –

答えて

1

これは、使用しているデータベースによって異なります。たとえば、MySQLは、テーブルやデータベースの大文字と小文字を区別しない照合を選択すると大文字と小文字を区別せず、大文字と小文字を区別して比較します。

4

照合を使用する必要があります。

SELECT * FROM myTable 
WHERE LastName COLLATE Latin1_General_CS_AS = 'smyTH' 
+0

@karthikgorijavolu - 部分文字列を使って行うには、次のようにWHERE句を次のように置き換えます。 WHERE SUBSTRING(LastName、1,5)COLLATE Latin1_General_CS_AS = 'smyTH' –

1

LIKEin PostgreSQLILIKEは大文字と小文字を区別しないである場合に敏感です。これは、使用しているDBMSに応じて異なります。ここで

2

declare @tmp table (LastName nvarchar(10)) 

insert @tmp 
select ('Gorijavolu') 

select LastName As 'CorrectCase' from @tmp WHERE SUBSTRING(LastName,1,4) COLLATE Latin1_General_CS_AS = 'Gori' 
select LastName AS 'WrongCase' from @tmp WHERE SUBSTRING(LastName,1,4) COLLATE Latin1_General_CS_AS = 'gori' 

Darren Davisの答えを使用した例である与える:

CorrectCase 
----------- 
Gorijavolu 
(1 row(s) affected) 

WrongCase 
---------- 

(0 row(s) affected) 
関連する問題