このTSQLを考えてみましょう:
declare @b varchar(100)
set @b = 'BANK-41'
IF @b LIKE 'BANK_%'
BEGIN
print 'Wrong Matching'
END
BANK-
TSQL が文字列 " " と " " に一致するのはなぜBANK_
ですか?
このTSQLを考えてみましょう:
declare @b varchar(100)
set @b = 'BANK-41'
IF @b LIKE 'BANK_%'
BEGIN
print 'Wrong Matching'
END
BANK-
TSQL が文字列 " " と " " に一致するのはなぜBANK_
ですか?
TSQL では、アンダースコアは単一の文字を表すワイルドカードです。
エスケープするには、次のように角括弧で囲む必要があります。
'銀行[_]%'
このページを参照してください: http://www.dirigodev.com/blog/web-development-execution/escaping-percent-and-underscore-characters-in-t-sql-like-clause/
SQL Server のアンダースコアは、ワイルド カード文字用に予約されていると思います。エスケープする必要があります。括弧で囲むことができると思います:
%[_]%
「_」をエスケープする必要があります。Like ステートメントの特殊文字です。[]で囲むことができます。
LIKE (Transact-SQL)を参照してください。