- PR -

SQLのシングルコーテーションについて

1
投稿者投稿内容
てろ
会議室デビュー日: 2003/05/12
投稿数: 14
投稿日時: 2003-06-30 17:50
いつもお世話になっております。
SQLでの「’」を文字として認識させたいのですがどうしたらいいのでしょうか?

よろしくお願いいたします
はぐれコ〜ギ〜
常連さん
会議室デビュー日: 2003/06/12
投稿数: 32
投稿日時: 2003-06-30 18:25
こんにちわ。

引用:
SQLでの「’」を文字として認識させたいのですがどうしたらいいのでしょうか?



具体的な状況が書かれてないので的をはずすかもしれませんが、
エスケープ文字(¥)をつければよいんではないでしょうか?

# 投稿時、開発環境/使用言語/状況くらいは記載した方がより的確なアドバイスを貰えると思います。


[ メッセージ編集済み 編集者: はぐれコ〜ギ〜 編集日時 2003-07-01 11:33 ]
Mr.タナカ
ベテラン
会議室デビュー日: 2003/03/15
投稿数: 64
投稿日時: 2003-07-01 23:35
こんにちは。
スレッド見ました。

質問の内容は.Netには関係ないと思いますが...
SQL文ですよね?
シングルコーテーションに関しては、プログラムでINSERT文を行っているならば、保存する前に「禁則文字」としてエラーで回避するのがいいと思います。
ただ、どうしても保存させるのならば、Oracleならば、プロシージャで処理を行えば問題ありません。
あと力技になりますが、【''''】←こんな感じで複数のシングルコーテーションを入力すれば認識するはずです。(シングルコーテーションの数は忘れましたが...)
上記の方法はOracleです。
それ以外のデータベースの場合は分かりません。
まりり
ぬし
会議室デビュー日: 2001/12/05
投稿数: 329
投稿日時: 2003-07-02 08:07
> あと力技になりますが、【''''】←こんな感じで複数のシングルコーテーションを
> 入力すれば認識するはずです。(シングルコーテーションの数は忘れましたが...)

ふたつシングルクォーテーションを重ねればひとつと見てくれるってことです。
数忘れたとかいうほどのものではないですよ。

VB使ったことがある人なら自然じゃないでしょうかね?
文字列中のダブルクォーテーションのエスケープと同じ理屈です。
Mr.タナカ
ベテラン
会議室デビュー日: 2003/03/15
投稿数: 64
投稿日時: 2003-07-02 10:14
こんにちは。
スレッド見ました。
昨日はOracleの環境がなかったので実験できませんでした。

引用:

まりりさんの書き込み (2003-07-02 08:07) より:
> あと力技になりますが、【''''】←こんな感じで複数のシングルコーテーションを
> 入力すれば認識するはずです。(シングルコーテーションの数は忘れましたが...)

ふたつシングルクォーテーションを重ねればひとつと見てくれるってことです。
数忘れたとかいうほどのものではないですよ。

VB使ったことがある人なら自然じゃないでしょうかね?
文字列中のダブルクォーテーションのエスケープと同じ理屈です。



Oracle9iになりますが、ふたつシングルクォーテーションを重ねる方法を試してみました。
【SELECT '' FROM dual】だと、何もでませんが...
【SELECT '''' FROM deal】だと、シングルコーテーションが一つ表示されます。
おっきー
大ベテラン
会議室デビュー日: 2003/05/01
投稿数: 104
投稿日時: 2003-07-02 10:33
引用:

Oracle9iになりますが、ふたつシングルクォーテーションを重ねる方法を試してみました。
【SELECT '' FROM dual】だと、何もでませんが...
【SELECT '''' FROM deal】だと、シングルコーテーションが一つ表示されます。



>【SELECT '' FROM dual】だと、何もでませんが...

これってただ空文字列を表示しているだけなのでは?

>【SELECT '''' FROM deal】だと、シングルコーテーションが一つ表示されます。
は、文字列を表す記号として両端の「'」が使われているので、その中の「''」が
文字として表示されていることになります。

たとえば、別の文字と混ぜて使った場合よく分かると思います。
「ab'cd」と表示したい場合

SELECT 'ab''cd' FROM dual

とか。
1

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