データ型について教えてください。
あまり気にする必要がないかもしれませんが、テーブルにフラグ目的でフィールドを作る場合、
データ型は何するのが一般的なのでしょうか?(CHAR OR NUMBER?)
ACCESSで言えばBOOLEANになると思うのですが、ORACLEやポスグレはないですよね?
私は、CHAR(1)にしています。
理由は、プログラムでSQLを書くときに''で囲むようにするためです。
その他のフィールドもだいたいテキストか日付ですので、''を囲むフィールドばかりです。
できるだけ''囲むフィールドに統一して、SQLの記述ミスを少なくしようというのが狙いです。
この考え方は間違っていますか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
間違っていないと思います。
でも、私は、NUMBER 型を使います。
理由は、プログラムを書くときに、明示的にフラグだと解るようにしたいからです。
フラグとしての使い方を考えると、
プログラム上では、単体で動作する事が多くなってきます。
例えば、データを論理削除する場合に、削除フラグとして利用します。
その時には、SELECT の時には、WHERE の一部として入力されて利用されます。
UPDATE では、他のデータと同時にってよりも、削除フラグだけを設定する事が考えられます。
その為に、他のデータと記述上で見分けが付くように、しておきたい為です。
また、入れるデータも プログラム言語上で利用する True や False を使って明示的に解るようにしたい為です。
この辺りは、何が合っていて、何が間違っているって言うのは少ないと思います。
ルールをしっかりして、混合する様なルールになっていなければ、正解だと思います。
No.1
- 回答日時:
PostgreSQLにもboolean型がありますよ。
でも、わたしもchar型を使うことが多いですね。
複数のRDBMSをプロジェクトによって使い分けるので、どのRDBMSでも共通で使える型を使用します。
理由は、その方が間違えが少ないですし、移植する時に修正が少なくなるからです。
この回答への補足
postgresにあるんですか。
運用上統一すべきなのですが、、
弊社にはoracleとpostgresがあり、両者で同じテーブルがあるため、データの移植、移行をよく行っています。そう考えると、postgresでboolean使うべきではないですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
GROUP BYを行った後に結合したい。
Oracle
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
python エラー
その他(プログラミング・Web制作)
-
-
4
外部キーだけのテーブル(主キーがない?)
その他(データベース)
-
5
外部参照してるキーを主キーにすることは可能?
その他(データベース)
-
6
含まない言い方ってどうしたらいいんでしょうか
日本語
-
7
PL/SQLの変数について
Oracle
-
8
ROWNUMでUPDATEをしたいのですが・・・。
Oracle
-
9
VBでグローバル変数を宣言するには
Visual Basic(VBA)
-
10
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
11
テーブルに主キーを作らないデメリットは?
その他(Microsoft Office)
-
12
データベースのINT型項目にNULLはNG?
MySQL
-
13
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルメーカーでの文字列の...
-
Accessで年月日のデータ...
-
ACCESS、時間ごとの集計の仕方は?
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
Accessのマクロでモジュールを...
-
callで順に実行されるプロシー...
-
likeとsubstrの使いわけについて
-
PL/SQLカーソルの2重FORループ...
-
Accessの数値から時間に変換す...
-
ODBCリンクの際にACCESSでは読...
-
access adoのトランザクション
-
SQLサーバで和暦から西暦に変換...
-
キャッシュを使わずにSELECTを...
-
特定の日付が第何週目にあるか...
-
テーブルの主キーをdate型...
-
エクセルVBA 今日の日付行...
-
SQL文のエラー
-
異なるスキーマのビューを元に...
-
800万件のテーブル読み込み...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで年月日のデータ...
-
ACCESS、時間ごとの集計の仕方は?
-
データ型について教えてください。
-
フォーム上で小計など自動計算...
-
Excelのピボットテーブルで数も...
-
ファイルメーカーでの文字列の...
-
ファイルメーカーでフィールド...
-
アンパサンドを挿入したい
-
Access→Oracleへ移行後MAX()が...
-
Libre Office でフィールドコー...
-
VB.NET Type.GetFieldsメソッド...
-
wordで文字の上に線を引きたい...
-
ACCESSデータベースのメモ型フィー...
-
Accessで、『"A"以外の場合"--"...
-
FileMaker pro12 アンケート
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
今日の日付が入った行のデータ...
-
VBA プロシージャの名前の取得
おすすめ情報