Maison >base de données >tutoriel mysql >Comparaison d'un type de données entre MySQL et Oracle
Une des différences entre MySQL et Oracle Type de données
Type de données Numéro ORACLE MYSQL Commentaires
1 NUMBER int / DECIMAL DECIMAL est NUMBER(10 , 2) Une telle structure INT est NUMBER(10), qui représente un type entier
MYSQL a de nombreux types de types int, tinyint mediumint bigint, etc. Différentes largeurs int sont différentes
2 Varchar2 ( n) varchar(n)
3 Date DATATIME Traitement du champ de date
Le champ de date MYSQL est divisé en champ de date DATE et TIME n'a que DATE, qui contient l'année, le mois, Informations sur le jour, l'heure, les minutes et les secondes. Utilisez L'heure système de la base de données actuelle est
SYSDATE, précise en secondes, ou utilisez la chaîne pour convertir la fonction de date TO_DATE ('2001-08-01', 'YYYY-MM -DD') année-mois-jour
Le format de 24 heures : minutes : secondes est AAAA-MM-JJ HH24 : MI : SS TO_DATE() et il existe de nombreux formats de date
Vous pouvez vous référer à ORACLE. DOC. Le champ de date est converti en fonction de chaîne TO_CHAR('2001-08 -01','YYYY-MM-DD HH24:MI:SS')
Les mathématiques pour les champs de date sont très différentes. MYSQL trouve 7 jours à partir de l'heure actuelle en utilisant DATE_FIELD_NAME
>SUBDATE (NOW(), INTERVAL 7 DAY) ORACLE trouve 7 jours à partir de l'heure actuelle en utilisant
DATE_FIELD_NAME >SYSDATE - 7;
Insérez le heure actuelle dans MYSQL Plusieurs fonctions de l'heure sont : La fonction NOW() renvoie la date et l'heure actuelles au format ``AAAA-MM-JJ HH:MM:SS', qui peuvent être directement stockées dans le champ DATETIME. CURDATE() renvoie la date du jour au format 'AAAA-MM-JJ', qui peut être directement stockée dans le champ DATE. CURTIME() renvoie l'heure actuelle au format 'HH:MM:SS', qui peut être directement stockée dans le champ TIME. Exemple : insérer
dans les valeurs de nom de table (nom de champ) (maintenant())
Et l'heure actuelle dans Oracle est sysdate
4 INTEGER int / INTEGER INTEGER dans Mysql est équivalent à int
5 EXCEPTION SQLEXCEPTION Voir 2.5 Gestion des exceptions Mysql dans <<2009001-eService-O2MG.doc>> 6 CONSTANT VARCHAR2(1) Il n'y a pas de mot clé CONSTANT dans mysql Migrate depuis ORACLE Arrive MYSQL, toutes les constantes CONSTANT ne peuvent être définies que comme des variables
7 TYPE g_grp_cur IS REF CURSOR : Il existe des alternatives dans MySQL Pour plus de détails, voir 2.2 Traitement du curseur dans <<2009001-eService. -O2MG.doc>>
8 TYPE unpacklist_type IS TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER : utilisez le traitement de table temporaire dans MySQL
ou écrivez la logique directement dans le code correspondant,
Effectuez directement le traitement correspondant sur chaque valeur de la collection. Pour plus de détails, voir 2.4 Traitement des tableaux dans <<2009001-eService-O2MG.doc>> Type de données croissant MYSQL a automatique Pour le type de données croissant, il n'est pas nécessaire d'utiliser ce champ lors de l'insertion d'enregistrements, et la valeur des données sera obtenue automatiquement. ORACLE n'a pas de type de données auto-croissant. Il est nécessaire de créer un numéro de séquence auto-croissant Lors de l'insertion d'un enregistrement, la valeur suivante du numéro de séquence doit être affectée à ce champ.
10 NULL NULL Traitement des caractères nuls
Les champs non nuls de MYSQL ont également un contenu vide. ORACLE définit des champs non nuls et n'autorise pas le contenu vide. Définissez la structure de la table ORACLE selon NOT NULL de MYSQL
Une erreur se produira lors de l'importation des données. Par conséquent, lors de l'importation de données, vous devez juger du caractère nul. S'il s'agit d'un caractère NULL ou nul, vous devez le remplacer par une chaîne d'espace.
Ce qui précède est le contenu de l'un des types de données dans la comparaison des différences entre MySQL et Oracle. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !