• ベストアンサー

Oracleのスペース文字について。

今いろいろ調べていて、困っているのですが、ORACLEのスペースをVarchar2で取得した時、文字はどのように入っているのでしょう? たとえば、SELECT文を作って、スペースを取得した時、ASP+VBS等の変数を使ってスペース文字を変数に入れた時、どんな値が入ってくるのか知りたいのですが・・・・・ お分かりになる方いらっしゃいますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • cse_ri2
  • ベストアンサー率25% (830/3287)
回答No.1

VARCHAR2ならば、スペースはスペースで登録されていますが?? >たとえば、SELECT文を作って、スペースを取得した時、>ASP+VBS等の変数を使ってスペース文字を変数に入れた>時、どんな値が入ってくるのか知りたいのですが・・・・・ こういうことは、百聞は一見にしかず。 自分で試してみるのが一番です。 ASPのサイトはけっこうありますので、そこでOracleから データを検索するサンプルプログラムを入手して試しましょう。

poposan
質問者

お礼

ありがとうございます。 やってみて、うまくいかなかったのですが、いろいろ調べていたら出来ました。 っていうか、勘違いでした。すみません。お手数をおかけしました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Oracleで「文字が無効です」のエラーが出ます

    Oracleで「文字が無効です」のエラーが出ます JavaからOracleに接続して、SELECT文を発行していますが、何度試しても上記のエラーが出ます。 発行しているSELECT文を、SQLPlusから打ち込むとちゃんと実行できます。 何が悪いのか見当がつきません。 お知恵をお貸しください。 ちなみに、対象テーブルの項目はvarchar2とnumberだけの項目ばかりで、日本語は使ってません。 また、Oracle初心者です。 環境 端末:WindowsXP Oracle:10g Express Edition ※文字コードはAL32UTF8 IDE:Eclipse3.5 ※設定-一般-ワークスペースのテキストファイルエンコードはUTF-8

  • OracleのSQLについて

    OracleのSQLについて質問があります。 VARCHAR2をReturnするFunction「GETKANANAME(引数はID)」があるとします。 このとき Update NAMELIST SET kananame = (select GETKANANAME('00001') from dual); とすると、kananameに何も設定されません。 (エラーメッセージなどは何も出ていません。) select GETKANANAME('00001') from dual; だと期待する値が帰ってくるのですが…。 何か間違ったSQL文なのでしょうか?

  • oracle sequence

    oracleのシーケンスでdual表からselect文のnextvalで取得したものをインサート したいのですが、ループ内で上記処理を複数回行ったときに、値が一回目以降 更新されずに困っています。 例) for (i=0;i < 5){ (1)セレクト文発行しシーケンスを取得。 (2)取得したシーケンスを変数にセット (3)インサート実行(主キーに取得したシーケンスをセット) } こんな感じで実行したときに、はじめはシーケンスが+1されますが、 それ以降シーケンスが増加しません。そのため、重複エラーが発生してしまいます。。。 どのように対処したらよいのかまったく見当がつきません。 大変申し訳ないのですが、ご教示いただきたくよろしくお願い申し上げます。

  • Oracle SQLで文字列操作

    始めまして。 VB6でプログラミングをしています。DBはOracle8.16です。 Oracleテーブル上で、カテゴリー別に " 文字列 & ナンバリング " の値をもつレコードを、インサートしていく作業をしています。 ナンバリングの部分の現在の最大値に1足したものを、 新規レコードで値を持たせインサートしてます。 tblA Col1           Col2 1            NA-P1-1 1            NA-P1-2 1            NA-P1-3 1            NA-P1-4 3            NA-P3-1 3            NA-P3-2 3            NA-P3-3 1   この場合、 Select max(Col2) from tblA where Col1 = 1 で現在のCol1=1のMax値(Col2)は NA-P1-4 と取り出せるできるんですが、新規に追加するレコードのCol2の値が NA-P1-5だと取得できる方法はあるでしょうか。 Select Max(col2)+1 ~だと、カラム定義がvarchar2なんで、 当然のようにシステムに怒られました(当然ですが。。) お分かりの方、お願い致します。

  • java1.8+butterfly+oracle

    こんにちわ。 私は今、java1.8から Butterfly Persistenceを使って oracle11gにアクセスするwebシステムを作っています。 実は困ったことが発生しています。 「 ・4テーブルを結合してSELECTを掛ける ・2回目の操作以降、取得できなくなるテーブルがある。 (そのテーブルの情報が全てnullになる) ・クエリ発行前にブレークポイントで一旦止めてステップ実行すると正常に取得する。 ・クエリ発行後にブレークポイントを設定するとやはりnullになっているが、そのまま、eclipseの式ビューにクエリを発行してる式を入れると正常に取得する。 ・クエリ発行の直前にThred.sleep(2000) を入れると何度やってもセレクトが成功する。(上手くいく、nullにならない) 」 です。 ドライバはoci 64bit butterflyのデータベースマネージャーを使用しています。 知りたい事。 何故取得できないテーブルがあるのか? 何故Thred.sleepを入れると取得できる様になるのか? 経緯  このシステムは、もともとmySQLで作られていて、諸事情によりOracleに変換する必要が出てきました。 その変換係に私が指名されました。 mySQLのlongTextを使っていたので、 最初はOracleのLongにしていました。 最初はbutterflyのオブジェクトDaoで1テーブル毎に取得したのですが 1テーブルなぜか検索結果が0になりした。 そこでコネクションを取得して プリペアドステートメントに切り替えたのですが 改善せず いろいろ調べると jdbcドライバでlongを使うと、 最初に読まなきゃならないとかいろいろ成約があり、ORMapperでlongが怪しいと思い、 そこまで長い文字列入らないと思われるので varchar2(4000)にしました。 が、解決しません。 連続して複数のテーブルにセレクトするのが悪いと思い、 テーブルを結合させて butterflyのマップオブジェクトで取得したのですが やはり該当テーブルがnullになりました。 その時はthinドライバだったので、 ociなら大丈夫かと思いociに変換。 (と言いますのも、試験的に該当箇所をasp.net c#に移植し、全く同じセレクト文を投げると全く問題なく動き、 それがoci接続なのでocIにすれば行けると思いました。 asp.netとc#なら問題なかったのでjavaカテゴリに来ました) しましたが上記のとおりです。 javaVMのメモリが不足したかと思い eclipseからtomcatのメモリを1024mに設定しましたが解決せず。 どなたか似たような現象に遭遇した方や 心当たり有る方いますでしょうか?

    • ベストアンサー
    • Java
  • 文字列の連結

    文字列の連結 select * from test where testcolum=変数名 といった感じで、文字列と変数を連結したいのですがやり方がわかりません。 declare cdata varchar2(20); begin cdata:='sample'; 'select * from test where testcolum=' || cdata; end; 上のように、select文を動的に変更して実行したいのです。 よろしくお願いします。 /

  • oracleの文字コード設定

    oracleの初歩的な質問になって申し訳ないのですが教えてください。 以下の(1)~(4)の手順を実行したところ私が予定していた出力結果が表示されませんでした。 (1)DBインストール→インスタンス作成 (2)テーブルの作成 create table test1(line1 varchar2(10),line2 varchar2(10),line number); (3)データの挿入  insert into test1 values('01','鈴木',40); (4)データの確認 select * from test1; (4)で確認したところ、line2が??????になっていました。想定では「鈴木」となるはずでした。 文字コードに問題があると思うのですが、対処方法がわかりません。 line2に入力した値が入れた値が見れるようにするには何を、どのように修正すればよいのか教えてください。 ※補足 使っている環境はUTF-8です。 ログインシェルには特に文字コードを何も設定していません。 ■show parameterコマンドの確認結果 nls_language string AMERICAN nls_territory string AMERICA

  • ORACLEでwhere句の検索順序

    Oracle9i windows2000です。 以下のようなテーブルがあります。 table_a ----------------------- id   NUMBER(10,0) NOT NULL, sort   NUMBER(10,0) NOT NULL, name   VARCHAR(10), text   VARCHAR(255) この条件で、以下のふたつのSELECT文を発行した時、パフォーマンスが良いのはどちらですか? Oracleでは後ろから検索されると聞いたことがあるのですが本当でしょうか? ※idにプライマリキー、 id,sortにインデックスが貼ってあります。 (1)SELECT text FROM table_a WHERE id = 1 AND sort = 2 AND name = 'a' (2)SELECT text FROM table_a WHERE name = 'a' AND sort = 2 AND id = 1

  • シェル変数に2つのスペースを代入する方法

    シェルスクリプトを作成する際、変数に2つのスペースを持つ値を代入するにはどうすればいいのでしょうか。 例えば変数SPACEに「Jan△△1」という文字列を代入したい(△はスペース1文字分)時、 SPACE="Jan△△1" echo $SPACE   としても、 結果は「Jan△1」となってしまいます。 どなたかご存じの方、よろしくお願いします

  • オラクルのデータ型について

    オラクルのデータ型について教えてください。 ものすごく基本的な質問かもしれませんが、今後のことを考えて質問させていただきます。 文字列の型の"CHAR"と"VARCHAR2"についてです。 "CHAR"は固定長で2000バイト、 "VARCHAR2"は可変長で4000バイトとマニュアル等には記載されていますが、 いまいちピンときません。 そこで、それぞれの長所、短所。どのような時にどちらを使用したらいいのか 等をなるべく詳しく教えてもらえないでしょうか? 宜しくおねがいします。