- - PR -
SQLの質問
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-11-20 18:44
このスレッドに関係なくて申し訳ありません。
SQLにおいて、「&」を文字として認識させるにはどうしたらよいのでしょうか? たとえば「'」を認識させるためには2つ続けて「''」と入力するとか そういう対処法を知っている方がいらっしゃったら教えてください。 | ||||
|
投稿日時: 2003-11-20 18:49
where 内容 Like '%&%'
これですかね? | ||||
|
投稿日時: 2003-11-20 18:51
文字列型の場合は
必ず '(クォーテーション)で囲みますので 問題ないと思います | ||||
|
投稿日時: 2003-11-21 09:42
ご回答ありがとうございます。
raystarさんからいただいた「'」で囲むというご意見、 試してみましたが「&」のところで値が切れてしまうみたいで 思ったとおりの結果が出ませんでした。 Crimeさんからいただいたものでうまくいきましたー。 ただこれでうまくいったところで新たな問題が出てしまうのが、 「%」そのものをマッチングさせるときにはどうするのか。 具体的に、フォームに任意に入力した値を使って自動的にSQLを 作って実行するといったものを作りたいので、 なるべく場合わけがない方法(Likeを使ったり=をつかったりとか)が あったら教えていただきたいと思います。 | ||||
|
投稿日時: 2003-11-21 10:17
こんにちわ。お世話になっております。
Oracleしかしらないのですが LIKE '%&\%%' ESCAPE '\\' とエスケープしてあげれば%もマッチさせることができます。 #SQLServerでも使えるのかな? [ メッセージ編集済み 編集者: ゆう 編集日時 2003-11-21 10:19 ] | ||||
|
投稿日時: 2003-11-21 10:33
ゆうさん、ありがとうございます!思い通りにできました。
申し送れましたが私もOracle環境です。 これまで曖昧にしていたメタ文字、エスケープの使い方がよくわかりました。 本当にありがとうございます。 | ||||
|
投稿日時: 2003-11-21 10:43
もしよろしければ環境を教えていただけないでしょうか?
(SQLをどのように実行しているか、データプロバイダを使用?種類は?) SQLだけで見ると、raystarさんの対応で問題ありません。 OracleのSQL*PLUSやSQLServerにツールを使用して直接 項目='&'を含む SQLを実行できます。 where 内容 Like '%&%' は、常に全件検索で項目内もサーチするためレスポンスが悪くなります。 | ||||
|
投稿日時: 2003-11-21 11:44
たるたるさん、新たな情報ありがとうございます。
私は素人で環境といわれても的確にお答えできるかわかりませんが、 今テスト用に使っていたのはインストールしたままのSQL*PLUSです。 直接&を指定できるツールがあるのですか。 今はSQL*PLUSを使ってましたが、後々はASPでSQLをたたくかんじに したいと思っています。 そのツールというのはあくまでもSQL*PLUSで適用されるものですか? |