4

Microsoft SQL サーバーで Like キーワードを作成する際の入力は、大文字と小文字が区別されます。

例: Name Like 'David' は、David、david、daVid などのすべての名前を取得します。私の目標は、David だけを取得することです。専門家からさまざまな方法を知ることに興味があります。

4

4 に答える 4

4

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

SELECT * FROM myTable  
WHERE LastName COLLATE Latin1_General_CS_AS = 'smyTH' 
于 2012-04-13T11:45:01.847 に答える
2

Darren Davisこれがsanswerを使用した例です

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'

与える:

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

WrongCase
----------

(0 row(s) affected)
于 2012-04-13T12:31:41.883 に答える
1

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

于 2012-04-13T11:44:37.990 に答える
1

LIKE PostgreSQLでは大文字と小文字ILIKEが区別されますが、大文字と小文字は区別されません。したがって、これは使用しているDBMSによって異なります。

于 2012-04-13T11:45:11.877 に答える