No.1
- 回答日時:
> 表名や列名に日本語を使っても問題はないでしょうか
ダブルクォートすれば問題はないようです(結構面倒です)。
・参考サイト
http://homepage3.nifty.com/yamada_ken1/starthp/s …
http://www.shift-the-oracle.com/guideline/multib …
・OTN掲示板の参考スレッド
http://www.oracle.co.jp/forum/message.jspa?threa …
# 日本語の表名、列名の問題は宗教論争になりがちで……
dda167 様
いつも適切なご回答をいただき、感謝しております。
よく理解できました。
MySQLをやりましたときには、5Cコードの問題があり、日本語は絶対ダメと思っていたのですが、Oracleではダブルクォートで問題がない(Oracle内だけでは)のですね。
ありがとうございました。
No.2ベストアンサー
- 回答日時:
テーブルを使用するのも作成するのも面倒がありますが、構文上の問題はありません。
というのが、答えになるでしょうか。表名や列名に日本語文字を使用する場合は、名前を" "で囲う必要があります。制約はただこれだけです。(マニュアルに記載があります。)
ただこれだけのことなので、自分で開発したデータベースを、自分で作成したアプリで利用する場合には、何の問題もありません。ただし、日本語とシングルバイトの英文字が混在する場合は注意してください。この場合、英文字の方の大文字小文字をきちんと区別する必要があります。""で囲っていない場合は、総ての名前は大文字変換されて使用されるのですが、囲った場合はこの変換がないからです。
それより、やっかいごとは外からやってきます。
データベースの開発・メンテナンスにsql plusやEMだけを利用しているなら大丈夫ですが、サードパーティー製のソフトを利用している場合は、そのソフトが日本語表名・列名を正しくサポートしていることが必要です。
また、アプリケーションの作成の際に、ライブラリーなどを利用しているのであれば、これらも正しく日本語表名・列名に対応している必要があります。
なぜなら、普通列名や表名を" "で囲うということはしないからです。囲うことによる副作用もありますから、ライブラリーやソフトが日本語文字が混在していることを正しく認識して、日本語の混じっている時だけ正しく" "で囲うという処理が必要で、これは、明らかに特殊な処理ですから。
まぁ、今までの経験からすると、囲わなくても正しく動くことが多いです。が、正式に構文として明記されている以上、動く方が偶然であると認識しておくことは必要でしょう。特に、二バイト目のコードがASCIIコードの特殊文字の文字コードと同じになっているいくつかの文字あたりが鬼門になると思います。
表名も列名もとっても見やすくなり、メンテナンスも楽になります。が、ある程度のリスクを抱えての選択であると言うことは意識しておく必要はあるでしょう。
作法としてやって良いかどうかは、宗教論争の面がありますで、避けることにします。
mitoneko 様 ご回答いただき、ありがとうございました。
「自分で開発したデータベースを、自分で作成したアプリで利用する場合には、何の問題もありません。」という点。よく理解できました。私の場合は、おかげさまで安心して利用できます。
また、作法としては「宗教論争の面」があるということもわかり、勉強になりました。
的確な回答をいただき、感謝しております。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Excel(エクセル) Excel セルに入っている日付を参照して、別シートのリストを表示させたい 1 2022/04/12 17:02
- 日本語 〈場所を示す「に」と「で」〉 という誤り 36 2022/11/12 15:04
- 日本語 <助詞の話──場所を示す「に」と「で」>という誤り 1 2023/05/17 00:06
- 英語 英語のレポートとして、世界遺産についてまとめることになり、イギリスのウェストミンスター宮殿の歴史と現 2 2022/11/05 22:35
- 日本語 「~人」と「~名」の使い分け 2 2022/06/02 11:59
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- 日本語 「が」についての叩き台です。ご感想をお聞かせください。 93 2022/09/29 14:11
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Oracleで「文字が無効です」のエラーが出ます
Oracle
-
日本語のエイリアスは "で囲う必要があるのでしょうか"
MySQL
-
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
-
4
Oracleで上書きImportはできますか?
その他(データベース)
-
5
Oracleのデータ型、NUMBERについて
その他(データベース)
-
6
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
7
PL/SQLのコンパイルエラーについて(ignored)
Oracle
-
8
Oracleのビュー作成時に「指定した列名の個数が無効です」エラー
Oracle
-
9
NUMBER(N,M) としたときの、格納データサイズ(バイト)
Oracle
-
10
日本語のテーブル名、カラム名の定義について
SQL Server
-
11
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
12
ORA-00959: 表領域'****'は存在しません
Oracle
-
13
sqlplusでヘッダーが付かない
Oracle
-
14
FTPエラー425
その他(コンピューター・テクノロジー)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを使ったSELECT文の総...
-
SQLについて質問です。 a表があ...
-
Accessで別テーブルの値をフォ...
-
select句副問い合わせ 値の個...
-
GROUP BYを行った後に結合した...
-
エクスプローラーで「2つの条件...
-
ファイル書込みで一行もしくは...
-
<SQL>条件付きで最小値レコード...
-
SQLServer 日付が直前のレコー...
-
SQL>UPDATEと同時にその件数を...
-
Access を×ボタンで閉じ...
-
sum()の出力結果順に並び替えを...
-
データセットのレコード更新が...
-
COBOLでのランダムアクセス
-
【初歩】ラジオボタンをつかっ...
-
Date型にNULLをセットしたい V...
-
チェックボックスの項目をDBにi...
-
JSPのNULLレコード表示について...
-
レコードセット(ADO.Recordset)...
-
select insertで複数テーブルか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを使ったSELECT文の総...
-
Excelでセルの書式設定を使用し...
-
Excelで、改行がある場合の条件...
-
日本語の表名、列名の利用について
-
OracleのSQL*PLUSで、デー...
-
主キーに重複があるレコードの...
-
SQLについて質問です。 a表があ...
-
LOAD DATE INFILE で Bit(1)型...
-
image型のInsertについて
-
DB2で UNION ALL と GROUP BY ...
-
別のテーブルの値でUPDATEした...
-
ADOのRecordCountプロパティに...
-
MS-ACCESS2000で数万件のデータ...
-
NULLのみを保持した列を除外し...
-
クエリビルダで列名を変数にし...
-
SQLについて質問です。 AVG関数...
-
ACCESSのコンボボックスの右側...
-
レコードセットからどれでも1...
-
oracle12c ユーザのパスワー...
-
SQLで列名の変更
おすすめ情報