MySQL と Oracle の違いの 1 つ データ型
データ型 数値 ORACLE MYSQL コメント
1 NUMBER int / DECIMAL DECIMAL は NUMBER(10,2) 構造体 INT は NUMBER(10 ) であり、整数型を示します。
MYSQLにはint、tinyint、mediumint、bigintなど多くの型があります。int幅が違うと違います
2 Varchar2(n) varchar(n)
3 Date DATATIME 日付フィールドの処理
MYSQLの日付フィールドはDATEとTIMEに分かれていますORACLE の日付フィールドには、年、月、日、時、分、秒の情報が含まれる DATE のみがあり、現在のデータベースのシステム時間を
SYSDATE として使用するか、文字列を使用して変換します。日付型関数 TO_DATE('2001-08-01', 'YYYY-MM-DD') 年-月-日
24 時:分:秒形式 YYYY-MM-DD HH24:MI:SS TO_DATE()他にも多くの日付形式があります
ORACLE DOCを参照してください。日付型フィールドは文字列関数に変換されます TO_CHAR('2001-08-01','YYYY-MM-DD HH24:MI:SS')
日付フィールドの数学的演算式は大きく異なります。 MYSQL は DATE_FIELD_NAME を使用します
>SUBDATE (NOW(), INTERVAL 7 DAY) ORACLE は
DATE_FIELD_NAME >SYSDATE - 7;
を使用して現在時刻から 7 日間を検索します。 現在時刻を挿入する MYSQL の関数は次のとおりです。 NOW () 関数は戻り値を返します。現在の日付と時刻を「YYYY-MM-DD HH:MM:SS」として表し、DATETIME フィールドに直接保存できます。 CURDATE() は、今日の日付を「YYYY-MM-DD」の形式で返します。これは DATE フィールドに直接保存できます。 CURTIME() は、現在時刻を 'HH:MM:SS' の形式で返します。これは TIME フィールドに直接保存できます。例: insert
into tablename (fieldname) 値 (now())
そして、Oracle の現在時刻は sysdate です
4 INTEGER int / INTEGER Mysql の INTEGER は int に相当します
5 EXCEPTION SQLEXCEPTION & lt; を参照してください。 <2009001 -eService-O2MG.doc>> 2.5 Mysql 例外処理
6 CONSTANT VARCHAR2(1) mysql には CONSTANT キーワードがありません ORACLE から MYSQL に移行すると、すべての CONSTANT 定数は変数としてのみ定義できます
7 TYPE g_grp_cur IS REF CURSOR ; カーソル: mysql には代替手段があります。詳細については、 テーブル処理の 2.2 カーソル処理を参照するか、対応するコードにロジックを直接書き込むか、
で各値を直接処理します。詳細については、<<2009001-eService-O2MG.doc>> の 2.4 配列処理を参照してください。
9 自動拡張データ型 MYSQL には自動拡張データ型があります。レコードを挿入するときにこのフィールドを操作する必要はなく、データ値は自動的に取得されます。 ORACLE には自動増加するデータ型がありません。レコードを挿入するときは、このフィールドにシーケンス番号の次の値を割り当てる必要があります。
10 NULL NULL null 文字の処理
MYSQL の非 null フィールドにも空のコンテンツがあり、ORACLE では非 null フィールドが定義されており、空のコンテンツは許可されません。 MYSQL の NOT NULL に従って ORACLE テーブル構造を定義すると、データのインポート時にエラーが発生します。そのため、データをインポートする際には、NULL文字であるかどうかを判断し、NULL文字である場合は空白文字に変更する必要があります。
上記は、MySQL と Oracle の違いの 1 つであるデータ型の内容です。その他の関連内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。