Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1800 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

   Erreur conversion valeur datetime

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur conversion valeur datetime

n°1718425
goullater
Posté le 16-04-2008 à 11:52:58  profilanswer
 

Bonjour,
Je désire récupérer depuis une table appelé "journal", deux valeurs : le nombre total de lignes de la colonne "AlarmReference" et le nombre total de lignes de la colonne "DemandAcquitType" lorsque sa valeur est à TRUE.
Voici ma requête SQL :

Code :
  1. SELECT COUNT(*) AS AlarmReference, COUNT(*) AS DemandAcquitType FROM journal WHERE CreationTime>'10/04/2008 00:00:00' AND CreationTime<'11/04/2008 00:00:00'AND DemandAcquitType = '1'


Ma requête fonctionne et me retourne bien deux valeurs. Pour les récupérer, j'utilise le code PHP suivante :

Code :
  1. while ( odbc_fetch_row ( $ret)) {
  2.     $AlarmReference = odbc_result( $ret, "AlarmReference" );   
  3.     $DemandAcquitType = odbc_result( $ret, "DemandAcquitType" );
  4.     }


Jusqu'ici tout marche correctement. Je désires réaliser cette requête automatiquement tous les jours. J'ai donc remplacer dans ma requête l'heure par des variables :

Code :
  1. $dmy_aujourdui = date("d/m/Y" );                                               
  2. $date_aujourdui = "$dmy_aujourdui 00:00:00";                                 
  3. $dmy_hier = strftime("%d/%m/%Y", mktime(0, 0, 0, date('m'), date('d')-1, date('y'))) ;  /
  4. $date_hier = $dmy_hier." 00:00:00";


J'ai créer la variable date_aujourdui qui me renvoi la date d'aujourd'hui ' ex :10/04/2008 00:00:00 et la variable $date_hier qui me renvoi la date de hier. Je souhaite juste afficher la valeur de ma table de la veille et faire ceci tous les jours. Voici ma requete SQL :
 

Code :
  1. $sql = "SELECT COUNT(*) AS AlarmReference, COUNT(*) AS DemandAcquitType FROM journal where CreationTime>'$date_hier' and
  2. CreationTime<'$date_aujourdui' and DemandAcquitType = '1'";


Malheureusement, en exécutant ma page PHP, le programme ne fonctionne pas
Voici le code d'erreur :

Code :
  1. Warning: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Erreur de syntaxe lors de la conversion d'une valeur datetime à partir d'une chaîne de caractères., SQL state 22008 IN SQLExecDirect IN c:\program files\


J'ai lu sur des forums qu'on pouvais peut etre utiliser la commande CONVERT(). J'ai essayer mais sa na pas marché.
Est ce que quelqu'un à une idée SVP?
Bonne journée


Message édité par goullater le 16-04-2008 à 11:54:23
mood
Publicité
Posté le 16-04-2008 à 11:52:58  profilanswer
 

n°1718474
olivthill
Posté le 16-04-2008 à 12:48:22  profilanswer
 

Erreur classique du $toto entre apostrophes.
 
Remplacer

$sql = "SELECT COUNT(*) AS AlarmReference, COUNT(*) AS DemandAcquitType FROM journal where CreationTime>'$date_hier' and
CreationTime<'$date_aujourdui' and DemandAcquitType = '1'";


par

$sql = "SELECT COUNT(*) AS AlarmReference, COUNT(*) AS DemandAcquitType FROM journal where CreationTime>'".$date_hier."' and
CreationTime<'".$date_aujourdui."' and DemandAcquitType = '1'";

n°1718563
vttman2
Je suis Open ...
Posté le 16-04-2008 à 13:52:41  profilanswer
 

Quel SGBD ?  
Pour récupérer la date d'hier, on peut utiliser sql,  
 
ex: en Oracle
=>
select monchampdate -1 days , sysdate - 1 days from matable
 
Note: sysdate mot reservé contient la current date ...


---------------
il n'y a pas que le VTT dans la vie, il y a le Snowboard aussi ...
n°1718662
Melendril
Posté le 16-04-2008 à 17:03:50  profilanswer
 

Salut,
 
Un conseil, dans des cas comme celui là, un "echo $sql;" fait gagner beaucoup de temps.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

   Erreur conversion valeur datetime

 

Sujets relatifs
Erreur après hitTestObject et removeChild (CS3)problème formule excel : valeur d'une cellule précise dans zone nommee
500 Internal Server Error lors d'une erreur PHP[réglé] installation qt 4.3.4 et erreur make
[XML/XSL] - Récupérer une valeur d'un tableau excelrecupérer valeur SELECT MySQL
erreur (débile) de compilationerreur de reception
Formulaire --> Calcul automatique à partir de valeurs récupéréesCourbes avec Qwt (erreur de segmentation)
Plus de sujets relatifs à : Erreur conversion valeur datetime


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR