![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.2ベストアンサー
- 回答日時:
テーブルを使用するのも作成するのも面倒がありますが、構文上の問題はありません。
というのが、答えになるでしょうか。表名や列名に日本語文字を使用する場合は、名前を" "で囲う必要があります。制約はただこれだけです。(マニュアルに記載があります。)
ただこれだけのことなので、自分で開発したデータベースを、自分で作成したアプリで利用する場合には、何の問題もありません。ただし、日本語とシングルバイトの英文字が混在する場合は注意してください。この場合、英文字の方の大文字小文字をきちんと区別する必要があります。""で囲っていない場合は、総ての名前は大文字変換されて使用されるのですが、囲った場合はこの変換がないからです。
それより、やっかいごとは外からやってきます。
データベースの開発・メンテナンスにsql plusやEMだけを利用しているなら大丈夫ですが、サードパーティー製のソフトを利用している場合は、そのソフトが日本語表名・列名を正しくサポートしていることが必要です。
また、アプリケーションの作成の際に、ライブラリーなどを利用しているのであれば、これらも正しく日本語表名・列名に対応している必要があります。
なぜなら、普通列名や表名を" "で囲うということはしないからです。囲うことによる副作用もありますから、ライブラリーやソフトが日本語文字が混在していることを正しく認識して、日本語の混じっている時だけ正しく" "で囲うという処理が必要で、これは、明らかに特殊な処理ですから。
まぁ、今までの経験からすると、囲わなくても正しく動くことが多いです。が、正式に構文として明記されている以上、動く方が偶然であると認識しておくことは必要でしょう。特に、二バイト目のコードがASCIIコードの特殊文字の文字コードと同じになっているいくつかの文字あたりが鬼門になると思います。
表名も列名もとっても見やすくなり、メンテナンスも楽になります。が、ある程度のリスクを抱えての選択であると言うことは意識しておく必要はあるでしょう。
作法としてやって良いかどうかは、宗教論争の面がありますで、避けることにします。
mitoneko 様 ご回答いただき、ありがとうございました。
「自分で開発したデータベースを、自分で作成したアプリで利用する場合には、何の問題もありません。」という点。よく理解できました。私の場合は、おかげさまで安心して利用できます。
また、作法としては「宗教論争の面」があるということもわかり、勉強になりました。
的確な回答をいただき、感謝しております。ありがとうございました。
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内だけでは)のですね。
ありがとうございました。
お探しの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
-
SQLLOADER
Oracle
-
-
4
Oracleのデータ型、NUMBERについて
その他(データベース)
-
5
PL/SQLのコンパイルエラーについて(ignored)
Oracle
-
6
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
7
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
8
Oracleのビュー作成時に「指定した列名の個数が無効です」エラー
Oracle
-
9
ORA-00959: 表領域'****'は存在しません
Oracle
-
10
異なるスキーマからデータを抽出するには?oracl、PL/SQL
Oracle
-
11
CASE文のエラーについて
Oracle
-
12
日本語のテーブル名、カラム名の定義について
SQL Server
-
13
sqlplusでヘッダーが付かない
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでセルの書式設定を使用し...
-
GROUP BYを使ったSELECT文の総...
-
Excelで、改行がある場合の条件...
-
OracleのSQL*PLUSで、デー...
-
image型のInsertについて
-
LOAD DATE INFILE で Bit(1)型...
-
oracle12c ユーザのパスワー...
-
主キーに重複があるレコードの...
-
別のテーブルの値でUPDATEした...
-
ADOのRecordCountプロパティに...
-
エクセルで複数列、複数行の数...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
キーが同じを複数行を1行にま...
-
SQL文で右から1文字だけ削除す...
-
Access終了時の最適化が失敗?
-
ADO VBA 実行時エラー3021
-
Accessで別テーブルの値をフォ...
-
外部結合とor条件混在の記述方法
-
SELECTで1件のみ取得するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、改行がある場合の条件...
-
Excelでセルの書式設定を使用し...
-
GROUP BYを使ったSELECT文の総...
-
日本語の表名、列名の利用について
-
OracleのSQL*PLUSで、デー...
-
LOAD DATE INFILE で Bit(1)型...
-
列別名に二重引用符があった場合?
-
image型のInsertについて
-
COBOLソースに記述するホスト変...
-
cursor.getString
-
ADOのRecordCountプロパティに...
-
エクセル表でA列が表示されな...
-
NULLのみを保持した列を除外し...
-
ACCESSのコンボボックスの右側...
-
レコードセットからどれでも1...
-
オラクル:ビューのCREATE文に...
-
SQLについて質問です。 AVG関数...
-
1列について重複している行を除...
-
行全体を、決まった文字列があ...
-
SQLで列名の変更
おすすめ情報