- PR -

シングルクォーテーションについて

1
投稿者投稿内容
キラ
大ベテラン
会議室デビュー日: 2005/12/10
投稿数: 104
投稿日時: 2006-02-03 16:19
いつもお世話になっております。

早速ですが質問です。

SELECT * FROM TEST WHERE AAA = 'BBB'

上記のようなセレクト文があったとします。
BBBの部分がBB'Bとなった場合、
SELECT * FROM TEST WHERE AAA = 'BB''B'と書きます。
しかしシングルクォーテーションが増えるとわかりづらくなります。
もっと簡潔な書き方はありますか。

SELECT * FROM TEST WHERE AAA = q'<BB'B>'

ご教授ください。




[ メッセージ編集済み 編集者: トトロ 編集日時 2006-02-03 16:22 ]
とんくま
ベテラン
会議室デビュー日: 2005/08/02
投稿数: 56
お住まい・勤務地: 東京
投稿日時: 2006-02-04 04:08
SELECT * FROM TEST WHERE AAA = TRANSLATE('BB#B','''','#');
ではいかがでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-04 13:03
引用:

トトロさんの書き込み (2006-02-03 16:19) より:

SELECT * FROM TEST WHERE AAA = q'<BB'B>'


C# の逐語的リテラル (@) のようなイメージをしているのであれば、無理でしょう。
逐語的リテラルでもそれを示す引用符までは表現できません。

それを識別しようとすると (トトロさんでいう q'< >' のこと)、
エスケープ シーケンスよりも見にくいと感じます。

言語によってはそういう場合に「"」と「'」で使い分けれますけど。
それに応じて使い分ける方に、いつも統一して欲しいなぁなんて思ってます。
(返って見にくい)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ぷさいくろう
ぬし
会議室デビュー日: 2006/08/30
投稿数: 1034
投稿日時: 2006-10-05 17:01
>しかしシングルクォーテーションが増えるとわかりづらくなります。
>もっと簡潔な書き方はありますか。

DBによる
1

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