IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQLite Discussion :

SQLITE - usages multiples fonctions datetime()


Sujet :

SQLite

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 8
    Points
    8
    Par défaut SQLITE - usages multiples fonctions datetime()
    Bonsoir,

    Je ne maitrise pas les commandes SQLITE et je me heurte à un problème pour lequel je n'ai pas trouvé de solution...peut-être l'un d'entre vous pourra t'il m'aider
    Merci d'avance à ceux qui me liront...

    J'interroge une base sqlite qui contient des enregistrements de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    creation_utc  host_key                                            name                                                value                                               path                                                 expires_utc        secure      httponly  last_access_utc  
         INTEGER  TEXT                                                TEXT                                                TEXT                                                TEXT                                                     INTEGER       INTEGER       INTEGER          INTEGER  
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    12930958539384586  .smartadserver.com                                  TestIfCookieP                                       ok                                                  /                                                   12993166540000000             0             0  12947435067035161

    Pour convertir les champs creation _utc, last_access_utc et expires_utc j'utilise la fonction datetime(), en effet ces champs contiennent un "timestamp" propre à Google Chrome :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT  cookies.name, datetime((cookies.creation_utc / 1000000)-11644473600, 'unixepoch', 'localtime'), cookies.host_key, cookies.value, cookies.path, cookies.expires_utc, cookies.secure, cookies.httponly, cookies.last_access_utc FROM cookies ORDER BY 1

    Mon problème c'est que je veux essayer de traiter les trois champs de la même façon mais si je fais... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT  cookies.name,datetime((cookies.creation_utc / 1000000)-11644473600, 'unixepoch', 'localtime'), cookies.host_key,  cookies.value, cookies.path, datetime((cookies.expires_utc / 1000000)-11644473600, 'unixepoch', 'localtime'), cookies.secure, cookies.httponly, datetime((cookies.last_access_utc / 1000000)-11644473600, 'unixepoch', 'localtime') FROM cookies ORDER BY 1
    ...j'obtiens une erreur. Visiblement le pb est lié à l'emploi successif de la fonction datetime() pour chacun des trois champs....

    avez vous une solution ?
    Merci...

    Thierry

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 434
    Points : 1 133
    Points
    1 133
    Par défaut
    Bonjour,

    Alors cela vient peut être de la partie Sqlite de ton SE :
    Pour info, voici les commandes que j'ai passées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    CREATE TABLE "cookies"(
    creation_utc     INTEGER NULL,
    host_key         TEXT    NULL,
    name             TEXT    NULL,
    value            TEXT    NULL,
    path             TEXT    NULL,
    expires_utc      INTEGER     NULL,
    secure           INTEGER   NULL,
    httponly         INTEGER   NULL,
    last_access_utc  INTEGER   NULL)       
     
    Insert into [cookies] (creation_utc, 
    host_key, 
    name, 
    value, 
    path, 
    expires_utc, 
    secure, 
    httponly, 
    last_access_utc) 
    Values (12930958539384586, 
    '.smartadserver.com', 
    'TestIfCookieP', 
    'ok', 
    '/', 
    12993166540000000, 
    0, 
    0, 
    12947435067035161);
    Voici le résultat au travers de linterface en ligne de commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SQLite version 3.7.8 2011-09-19 14:49:19
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> .headers on
    sqlite> SELECT  cookies.name,datetime((cookies.creation_utc / 1000000)-11644473600, 'unixepoch', 'localtime'), cookies.host_key,  co
    okies.value, cookies.path, datetime((cookies.expires_utc / 1000000)-11644473600, 'unixepoch', 'localtime'), cookies.secure, cookies.
    httponly, datetime((cookies.last_access_utc / 1000000)-11644473600, 'unixepoch', 'localtime') FROM cookies ORDER BY 1;
    name|datetime((cookies.creation_utc / 1000000)-11644473600, 'unixepoch', 'localtime')|host_key|value|path|datetime((cookies.expires_
    utc / 1000000)-11644473600, 'unixepoch', 'localtime')|secure|httponly|datetime((cookies.last_access_utc / 1000000)-11644473600, 'uni
    xepoch', 'localtime')
    TestIfCookieP|2010-10-07 22:55:39|.smartadserver.com|ok|/|2012-09-26 22:55:40|0|0|2011-04-16 15:44:27
    sqlite>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 8
    Points
    8
    Par défaut merci
    Merci pour cette réponse....

    Je me suis rendu compte que ma requête initiale était mal formée car je lance sqlite.exe via un script Powershell et un caractère était mal protégé....


    Comme quoi c'était pas compliqué...mais je ne l'avais pas vu malgré de nombreuses recherches...

    Merci pour ton aide.

    Thierry

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Développement] QR code à multiple fonctions
    Par qdebrou dans le forum Objective-C
    Réponses: 3
    Dernier message: 23/03/2013, 13h23
  2. 2H de Retard avec la fonction DATETIME("now") ?
    Par mak972 dans le forum SQLite
    Réponses: 6
    Dernier message: 29/08/2009, 13h20
  3. OnLoad et multiple fonction
    Par yvon_huynh dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/02/2009, 14h46
  4. affichage multiple: Fonctions disparues sous Vista?
    Par nodarp dans le forum Windows Vista
    Réponses: 5
    Dernier message: 11/12/2008, 15h31
  5. Model Driven ? Data Driven ? Gestion d'une liste a usage multiple
    Par dolanor dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 13/01/2008, 22h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo