私はこのコードを試しています
CREATE TABLE #t
(
nam Varchar(100)
)
INSERT INTO #t(nam)VALUES('abc[]def')
SELECT * FROM #t Where Quotename(nam) like Quotename('abc[]def')
drop table #t
何の結果も得られません.... 何か足りないものはありますか?
私はこのコードを試しています
CREATE TABLE #t
(
nam Varchar(100)
)
INSERT INTO #t(nam)VALUES('abc[]def')
SELECT * FROM #t Where Quotename(nam) like Quotename('abc[]def')
drop table #t
何の結果も得られません.... 何か足りないものはありますか?
CREATE TABLE #t
(
nam Varchar(100)
);
INSERT INTO #t(nam)VALUES('abc[]def');
SELECT * FROM #t Where Quotename(nam) = Quotename('abc[]def');
drop table #t;
ブラケット[ ]
は。が付いたワイルドカードアルファベットとして知られているため、何も返されませんLIKE
。角かっこワイルドカードの間に指定された文字のセット。指定された位置(ワイルドカードの場所)の任意の1文字と一致します。
http://msdn.microsoft.com/en-us/library/ms179859.aspx
リンクを開いて、次のテキストを検索してください。
[]ワイルドカード文字の使用
エスケープが必要な quotename は必要ありません
CREATE TABLE #t
(
nam VARCHAR(100)
)
INSERT INTO #t(nam) VALUES('abc[]def')
SELECT *
FROM #t
WHERE nam LIKE 'abc\[]def' ESCAPE '\'
DROP TABLE #t