- ベストアンサー
列名の変更 (Oracle 8.1.7)
表:TB_TEST 列:TB_TEST_MODE VARCHAR2(1) があります。列:TB_TEST_MODE VARCHAR2(1)を下記に変更するには SQLplusでどのようにすれば良いのでしょうか? (1)列名の変更:TB_TEST_TESTMODE VARCHAR2(1) (2)型式の変更:TB_TEST_MODE NUMBER(1) (3)サイズの変更:TB_TEST_MODE VARCHAR2(5) (4)サイズの変更:TB_TEST_MODE NUMBER(5) 以上、ご存知の方ご教示宜しくお願いいたします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- yutopapa
- ベストアンサー率47% (139/295)
- kazuho_goo
- ベストアンサー率56% (34/60)
関連するQ&A
- 列の桁数変更の方法 (oracle 8i)
oracle 8.1.7 を使用 下表の列2を下記のように変更したいのですが 方法(SQLplusにて)が分かりません、 ご教示くださいますようよろしくお願いいたします (変更前)列2:T_MIX_PTN VARCHAR2(1) NOT NULL (変更後)列2:T_MIX_PTN VARCHAR2(3) NOT NULL 表 :T_MIX ---------------------------------------- 列1:T_MIX_CD VARCHAR2(4) NOT NULL 列2:T_MIX_PTN VARCHAR2(1) NOT NULL 列3:T_MIX_CNT NUMBER(1,0) NOT NULL 列4:T_MIX_GCD1 VARCHAR2(6) NOT NULL 列5:T_MIX_GRATE1 NUMBER(4,1) NOT NULL 列6:T_MIX_GCD2 VARCHAR2(6) NOT NULL 列7:T_MIX_GRATE2 NUMBER(4,1) NOT NULL
- ベストアンサー
- Oracle
- SQLを教えてください
下記表があり、列1のデータを列2,列3に分割する方法を 教えてください 表 :t_test 列0:管理No t_test_no VARCHAR2(7) NOT NULL PRIMARY KEY 列1:値(文字) *.**×10の乗数 t_test_data VARCHAR2(20) 列2:値(数値) 列1の「*.**」の部分 t_test_suu NUMBER(3,2) 列3:値(数値) 列1の「10の乗数」の部分 t_test_jousuu NUMBER(1,0) データ例 列0, 列1, 列2, 列3 A000001, 1.20×1, 1.2, 0 A000002, Null, Null, Null A000003, 1.23×100, 1.23, 2 A000004, 0.20×10000, 0.2, 4 A000005, 0.00×10, 0, 1 (補)列1に値がない場合もある
- 締切済み
- Oracle
- SQL文を教えてください
下記表があり、列0のデータを条件に, 列1,列2,列3の値を更新する方法を教えてください 表 :t_test 列0:管理No t_test_no VARCHAR2(7) NOT NULL PRIMARY KEY 列1:値(文字) t_test_data VARCHAR2(20) 列2:値(数値) t_test_suu NUMBER(3,2) 列3:値(数値) t_test_jousuu NUMBER(1,0) データ例 列0, 列1, 列2, 列3 A000001, abc, 1.2, 0 A000002, Null, Null, Null A000003, a1b2c3, 1.23, 2 A000004, opqrstuv, 0.2, 4 A000005, あいう, 0, 1 列0 条件のデータは必ず既存するものとする つまり、更新(update)処理
- ベストアンサー
- Oracle
- Varcharサイズ変更後にエラー
こんにちは。宜しくお願いします。 かなり古いシステムでVB6で開発されているものがあるのですが、昨日、データーベース(SQLServer2005)のとあるテーブルの列のサイズをVarchar(1000)からVarchar(2000)へ変更しました。 すると、いままで問題なく稼動していたシステムにエラーが発生しまして、デバッグしてみると、SELECT文で取得した変更箇所の列の値が、NULLで戻ってきました。 NULL値の対策として、IsNull関数を使用して、NULL値の場合には、別の文字列に変換するようにしてあるのですが、IsNull関数ではNull=Falseを返します。 いろいろネットで文献を探しまして、Where句に指定している列名をSELECT句に含まないといけないという記述を発見しましたが、実行しても結果は変わりませんでした。 なにかSQLServer側で意識しなくてはいけない事があるのでしょうか。 当方、DBにはあまり詳しくないので、原因に心当たりのある方はご教授頂ければ幸いです。
- 締切済み
- SQL Server
- 副問合せ 続(Oracle SQL)
問題:NATION表とINVENTION表より人口密度(人口/面積)が100以下の国で、発明事項がある国の国コードを表示する。 方法1:主問合せでNATION表を利用する 方がうまくいきません。 私の考えた下記SQL文では実行結果が80件返ってしまいます。 答えは方法2と同じ5件ですがどこが悪いのでしょうか? 回答のほどよろしくお願い致します。 方法1:主問合せでNATION表を利用する SELECT CODE FROM NATION WHERE (POPULATION / AREA) <=ANY(SELECT 100 FROM INVENTION) SELECT CODE FROM NATION WHERE POPULATION / AREA < 100;(上と同じ意味) INVENTION表の副問合せがうまくできていないので5件出力できない? 方法2:主問合せでINVENTION表を利用する SELECT DISTINCT NATION_CODE FROM INVENTION WHERE NATION_CODE = ANY(SELECT CODE FROM NATION WHERE 100 >= POPULATION / AREA) NATION_CODE ----------- 107 136 142 154 157 各表の構造はこのようになります。 SQL> DESCRIBE INVENTION 名前 NULL? 型 ----------------------------------------- -------- ---------------------------- INVENTION NOT NULL VARCHAR2(30) INVENTOR VARCHAR2(30) YEAR NUMBER(4) NATION_CODE NUMBER(4) SQL> DESCRIBE NATION 名前 NULL? 型 ----------------------------------------- -------- ---------------------------- CODE NOT NULL NUMBER(5) NATION NOT NULL VARCHAR2(28) CAPITAL VARCHAR2(20) AREA NUMBER(22) POPULATION NUMBER(22)
- ベストアンサー
- Oracle
- エクセルVBAで列名が#N/Aとなった列を削除するプログラムはどのように組めばよいのでしょうか?
エクセルVBAで列名が#N/Aとなった列を削除するプログラムはどのように組めばよいのでしょうか? 下記のような表です。 A B C D・・・・・ 1 イチゴ #N/A リンゴ #N/A 2 100 1 75 1 3 250 2 50 4 4 150 2 25 5 ・ ↓ A B ・・・・・ 1 イチゴ リンゴ 2 100 75 3 250 50 4 150 25 ・ よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 文字列内の数値を検索に使う場合の手法
検索の仕方で質問があります。 WinXPでの開発です。 データベースはOracle、開発ソフトはC++Builder5です。 以下のようなテーブルとデータがあります。 TB2,TB3のidは必ずTB1に存在します。 TB3のdataには、カンマ区切りの文字列が入っています。 dataのカンマ区切りの内容は "コード,サイズ1,サイズ2" となっています。 実際はこのような単純なデータではないので、カラム分けするのは 設計時に難しかったようです。 ------------------------------ CREATE TABLE TB1 ( id number, name varchar2(20) ); 1 sample1 2 sample2 3 sample3 ------------------------------ CREATE TABLE TB2 ( id number, keyno number ); 1 100 3 200 ------------------------------ CREATE TABLE TB3 ( id number, data char(200) ); 1 aaa,0.1,0.2 2 bbb,0.3,0.4 ------------------------------ たとえば TB2.keynoが100であり、TB3.dataのサイズ1が0.1のデータのTB1.nameを取りだす という場合、どのようなSQL文になるのでしょうか? TB3のデータは読み込んだ後に一旦文字列を分解して コード、サイズ1、サイズ2を取得しないことには検索出来ないと思います。 一番高速な手法はどうなるでしょうか? トリガーを使って、作業用のテーブル作ってやればいい、 みたいなことを言われたのですが、トリガーは違うのでは?と思いながら 手法を悩んでいます。 ローカルデータベースのようなファイルを使ってやる方法になるのでしょうか? アドバイスをお願いします。
- ベストアンサー
- Oracle
- エクセルで一番大きな数字の列名を表示させいたい
■■セダン■ワゴン■スポーツ■カテゴリ 田中□1□■□1□■□□□□■ 佐藤□1□■□2□■□□1□■ 鈴木□1□■□2□■□□3□■ 高橋□1□■□4□■□□4□■ 山本□1□■□3□■□□1□■ エクセルでこんな感じの表があります。 カテゴリの列に、一番大きな数字の列名(セダン・ワゴン・スポーツ)を 表示させたいのですが、どのようにすればいいのでしょうか? EX佐藤→ワゴン、鈴木→スポーツ、山本→ワゴン それから同数のものがある場合には、(田中、高橋)の場合には、同数と 表示させたく思っています。また数字がはいったセルには、データがない 場合があります。 以上よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 列のサイズを縮小するには
NUMBER(5)の列をNUMBER(5,2)に変更したいのですが、良い方法はないでしょうか。 一時表を作りINSERTする方法を試したのですが、定義名が自動の表定義が付けられていてうまくいきません。 列のサイズを縮小し、なおかつ表制約もそのままにする方法を教えてください。
- 締切済み
- その他(データベース)