Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > SQLite
SQLite Forum d'entraide SQLite
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/10/2011, 21h46   #1
Invité de passage
 
thierry922010 thierry
Inscription : mars 2010
Messages : 9
Détails du profil
Informations personnelles :
Nom : thierry922010 thierry

Informations forums :
Inscription : mars 2010
Messages : 9
Points : 3
Points : 3
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 :
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 :
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 :
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
thierry922010 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 21h31   #2
Membre du Club
 
Homme Alain Caumes
Chef de projet MOA
Inscription : juillet 2011
Messages : 26
Détails du profil
Informations personnelles :
Nom : Homme Alain Caumes
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Transports

Informations forums :
Inscription : juillet 2011
Messages : 26
Points : 56
Points : 56
Bonjour,

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

Code :
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 :
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>
acaumes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2011, 10h42   #3
Invité de passage
 
thierry922010 thierry
Inscription : mars 2010
Messages : 9
Détails du profil
Informations personnelles :
Nom : thierry922010 thierry

Informations forums :
Inscription : mars 2010
Messages : 9
Points : 3
Points : 3
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
thierry922010 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h24.


 
 
 
 
Partenaires

Hébergement Web