Handpuzzles.com


Comment puis-je convertir la date d'horodatage dans DB2?


Vous pouvez définir des colonnes dans les tables de base de données DB2 dans les deux «date», «temps» ou «formats d'horodatage" pour stocker des informations de temps pertinente. Les valeurs d'horodatage comprennent une date suivie par le temps, défini à six positions précision à la microseconde. Un horodatage est utile quand il est essentiel de savoir exactement quand survient un événement ou pour trier les données dans l'ordre d'entrée. De nombreuses applications utilisent les horodateurs pour enregistrer entrée et mise à jour de fois à des fins d'audit.

Instructions


•  Définir un champ qui ne contient que 10 octets. Cet exemple utilise la syntaxe COBOL dans la zone de travail de stockage. Le «01» est l'indicateur de niveau. "WS-DATE" est le nom du champ. "PIC" indique la clause d'image avec le "X (10)" indiquant que le champ est une chaîne de 10 octets. WS-01 DATE PIC X (10).

•  Sélectionnez une colonne d'horodatage dans une table DB2 à l'aide d'un langage d'interrogation structuré (SQL) déclaration. Tapez l'instruction SQL suivante dans le programme: SELECT TIMESTAMP_VALUE DE TEST_TABLE

•  Déplacez le "valeur_timestamp" pour le champ de stockage de travail plus courte pour tronquer toutes les informations après la date. MOUVEMENT TIMESTAMP VALEUR à WS-DATE. Si l'horodatage contient "2010-01-01-10.30.02.123456," WS-DATE égale »2010-01-01." Utilisez WS-DATE dans "insert" ou déclarations "update", ainsi que dans les "cas" clauses.

•  Convertir le format d'horodatage au format "date" en utilisant la fonction "date" dans le "sélectionner" déclaration. DATE SELECT (CURRENT TIMESTAMP) DE SYSIBM.SYSDUMMY1 Cette instruction renvoie la partie date de l'horodatage du système actuel. Le tableau de sysdummy1 est une table spéciale en mémoire fourni par IBM pour les fonctions du système qui ne nécessitent pas une table définie par l'utilisateur. Substituer une table et une colonne nom défini par l'utilisateur pour récupérer des données stockées. Si la date de système actuel est "2010-01-01-10.30.02.123456," le résultat de l'instruction SQL est «2010-01-01»

•  Utilisez la fonction SQL "cast" pour convertir un horodatage à une date dans le "sélectionner" instruction SQL. La déclaration "jeté" reformate une valeur basée sur les paramètres au sein de la parenthèse. Dans cet exemple, la valeur est "timestamp courant" et il est reformatée en utilisant le format "date". SELECT CAST (CURRENT TIMESTAMP AS DATE) DE SYSIBM.SYSDUMMY1 Si la date de système actuel est "2010-01-01-10.30.02.123456," le résultat de l'instruction SQL est «2010-01-01».

•  Vérifiez que le "cast" et les fonctions "date" renvoient les mêmes résultats en utilisant les deux en une commande SQL. DATE SELECT (CURRENT TIMESTAMP), CAST (CURRENT TIMESTAMP AS DATE) DE SYSIBM.SYSDUMMY1

Conseils et avertissements

DB2 renvoie une erreur si l'instruction SQL tente de convertir une valeur dans un format non valide à une «date», «temps» ou «format d'horodatage".




        

Publish my comment