- PR -

SQL Server2005にて'[]'を検索したい

1
投稿者投稿内容
siteb
会議室デビュー日: 2008/10/08
投稿数: 2
投稿日時: 2008-10-08 16:17
テーブルに'[XXX]'と[]をテキストとして登録すると、
SELECT文で呼び出すことが出来なくなってしまいます。


UPDATE A SET NAME = '[XXX]'
SELECT * FROM A WHERE NAME = '[XXX]'

上記のSELECT文では結果が表示されません。
次に以下を試したのですが、検索結果は出るのですが、
以下ですと対象が絞りきれません。

SELECT * FROM A WHERE NAME LIKE '%[XXX]%'

SQLにて予約済みキーワードでも [] で囲うことにより、
予約済みキーワードで無いことを表すようです。
例:SELECT * FROM [GET]

[XXX]だけを検索する方法をご教授願います。
siteb
会議室デビュー日: 2008/10/08
投稿数: 2
投稿日時: 2008-10-08 16:28
SELECT * FROM A WHERE NAME = '[[]XXX]'

上記文で解決しました。
[を[[]に置換すれば良いようです。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-10-08 16:32
ぐぐって初めて知りましたが、こんな便利な関数があったのね。
QUOTENAME (Transact-SQL)
よっしー
大ベテラン
会議室デビュー日: 2007/05/17
投稿数: 143
投稿日時: 2008-10-14 12:22
引用:

sitebさんの書き込み (2008-10-08 16:17) より:
SELECT * FROM A WHERE NAME = '[XXX]'


私の環境(2005sp2)ではこれで検索できました。


引用:

sitebさんの書き込み (2008-10-08 16:17) より:
SELECT * FROM A WHERE NAME = '[[]XXX]'


では検索できません。
何が違うのだろう。。
1

スキルアップ/キャリアアップ(JOB@IT)