Comment empêcher les millisecondes de disparaître lors de l'importation de données depuis la base de données ?Bonjour,
TLDR : Existe-t-il un moyen de conserver les millisecondes lorsque les données sont importées depuis une base de données ? Importez JSON, les millisecondes d'horodatage se transforment toutes en 0. JMP16.2/17.0
J'ai actuellement un script JSL qui extrait les données JSON d'une base de données
ex ->
Data Table(open database(dsn_string, sql_string, table_name, Invisible(1)));
Ce script a fonctionné sans problème, sauf que la granularité de la colonne d'horodatage manque les millisecondes.
Dans le fichier JSON d'origine, l'horodatage est en millisecondes ("TIME_STAMP": "2022\/08\/10 17:00:37.130 ") mais dans JMP, l'horodatage n'a plus de millisecondes. Même si je modifie les informations sur la colonne pour avoir plus de positions décimales, les millisecondes sont toutes des 0.

Le fait de manquer les millisecondes entraîne des problèmes d'analyse en raison d'un tri incorrect des lignes. J'ai vraiment besoin de la granularité des millisecondes dans mes données.
Quelqu'un sait-il comment résoudre ce problème de disparition des millisecondes lors de l'importation de données ?
Des indices pour éviter que cela se produise ?
Merci d'avance à tous pour votre aide !!!
Automatisation et scriptsAnalyse et modélisation des données de baseAccès aux donnéesRe : Comment empêcher les millisecondes de disparaître lors de l'importation de données depuis la base de données ?Je soupçonne que le correctif sera du côté de la base de données, pas du côté JMP, par exemple, https://database.guide/how-to-return-fractional-seconds-from-a-datetime-value-in-oracle/ , éventuellement spécifique à la marque de la base de données.
Pour contourner le problème, vous pouvez exporter un fichier CSV à partir de la base de données, même si le même correctif peut être nécessaire.
Imports the fractional seconds OKImports the fractional seconds OKImports the fractional seconds OKImporte les fractions de secondes OK
edit : cela pourrait être loin d'être clair ; "du côté de la base de données" signifie toujours modifier la requête pour que la base de données envoie les données.
Re : Comment empêcher les millisecondes de disparaître lors de l'importation de données depuis la base de données ?Salut Craige_Hales.
Merci pour la suggestion.
Voulez-vous dire que, dans mon cas, la requête d'importation des données JSON doit être modifiée pour tenir compte des millisecondes ? J'ai vérifié les données JSON et elles contiennent certainement les millisecondes nécessaires, mais je n'ai pas trouvé de solution pour importer correctement dans JMP. Avez-vous des indications ?
Remarque : je travaille avec de grands ensembles de données et j'extraire des centaines de fichiers JSON qui sont tous automatisés avec des scripts JSL. Il serait loin d'être idéal d'importer dans un fichier CSV, puis de l'importer dans JMP à chaque fois.
Re : Comment empêcher les millisecondes de disparaître lors de l'importation de données à partir de la base de données ?
Voulez-vous dire que, dans mon cas, la requête pour importer les données JSON doit être modifiée pour tenir compte des millisecondes ?
c'est ce que je décrivais. Je pense que le lien pourrait être utile. Je ne suis qu'un utilisateur occasionnel de SQL ; d'autres en sauront plus. D'après le lien, il est assez clair que tous les SQL ne sont pas identiques. Vous devez ajouter la variante SQL à laquelle vous avez affaire. Il semble cependant probable que le SQL permettant de convertir une date en chaîne avant de l'envoyer à JMP soit assez standard.
edit : en relisant... je suis confus. D'où vient JSON ? Est-ce que tu lis JSON avec JMP ? ou est-ce que tu utilises le support SQL de JMP ? J'ai probablement besoin de voir un peu plus ce que tu fais.