[MSSQL] probleme de date

probleme de date [MSSQL] - SQL/NoSQL - Programmation

Marsh Posté le 06-07-2007 à 15:54:02    

voila sur la base de données MSSQL j'ai les dates sous ce format "dd/mm/yyyy hh:mm:ss"  
ce qui donne par exemple : 22/02/2007 11:19:00
 
mais si j'extrais et affiche avec PHP j'obtiens "Féb 22 2007 11:19AM"
 
j'aimerai garder le meme format que ce lui de la base de données, si c'est possible!
 
merci d'avance!


Message édité par beer le 06-07-2007 à 15:58:48

---------------
zouing zouing
Reply

Marsh Posté le 06-07-2007 à 15:54:02   

Reply

Marsh Posté le 06-07-2007 à 15:59:27    

Reply

Marsh Posté le 06-07-2007 à 16:08:21    

Warning: mssql_query(): message: 'date_format' n'est pas un nom de fonction reconnu.
 
date format n'est pas reconnu sur MS SQL server


---------------
zouing zouing
Reply

Marsh Posté le 06-07-2007 à 16:20:36    

j'avais mal lu, désolé [:cupra] j'ai cru voir mysql
sous ms sql je crois qu'il faut se servir de convert ... un truc dans le genre:

Code :
  1. convert(char, tadate, untrucbizarre)


un coup de google sera plus précis que moi :)


Message édité par anapajari le 06-07-2007 à 16:20:51
Reply

Marsh Posté le 06-07-2007 à 20:41:01    

convert(varchar(20), tadate, 113) pour être plus exact ;)
 
char sans dimension ça donne un seul caractère
et 113 c'est le format internationnal (donc français) avec sciècle.

Reply

Marsh Posté le 06-07-2007 à 20:48:43    

sinon, tu peux aussi utilise les fonctions de formattage de date de PHP, parceque s'il t'affiche la date sous ce format, c'est qu'il a lui-même décidé de l'afficher de la sorte.

Reply

Marsh Posté le 11-07-2007 à 13:56:10    

Merci les gens "Convert" c'est impecable


---------------
zouing zouing
Reply

Marsh Posté le 13-07-2007 à 23:40:25    

MagicBuzz a écrit :

convert(varchar(20), tadate, 113) pour être plus exact ;)
 
char sans dimension ça donne un seul caractère
et 113 c'est le format internationnal (donc français) avec sciècle.


 
inutile de préciser la taille du varchar :)

Reply

Marsh Posté le 14-07-2007 à 00:59:19    

je me souviens plus, mais il me semble qu'il y a un cas où le varchar prend une taille de 1 caractère. ou si c'est quand on utilise char... sais plus :)

Reply

Marsh Posté le 14-04-2008 à 14:46:56    

Bonjour a tous,
 
Je fais un petit up de ce post pour vous posez une gentille question :)
 
J'ai une base MS SQL dans cette celui une table du genre:

Code :
  1. id
  2. date "YYYY-MM-DD HH:MM:SS.000"


 
Je voudrais faire un select * des objets du mois précédent mais de facon générique (enfin sans mettre les dates voulues directement dans la requete), mais moi et le SQL ca fait 2 :s
 
Une idée ?
 
Merci bien

Reply

Marsh Posté le 14-04-2008 à 14:46:56   

Reply

Marsh Posté le 14-04-2008 à 15:07:41    

Visiblement
 
SELECT CONVERT(VARCHAR(23), GETDATE(), 121);
 
Me donne la date courante au format voulu
 
Mais c'est aps encore gagné pour les id du mois précédent ;s

Reply

Marsh Posté le 14-04-2008 à 15:14:00    

Si le champ contenant ta date s'appelle "MaDate" dans la table "table" :
SELECT DATEADD(Month, -1, MaDate) FROM table


Message édité par Harkonnen le 14-04-2008 à 15:14:39
Reply

Marsh Posté le 14-04-2008 à 16:02:19    

Ah ok merci  
Donc il faut faire ça avec des sous requete ou un truc du genre plus simple?
 
Select * from table where MaDate >= DATEADD(Month, -1, CONVERT(VARCHAR(23), GETDATE(), 121))  AND MaDate < CONVERT(VARCHAR(23), GETDATE(), 121);
 
Merci


Message édité par 3xc4l18ur le 14-04-2008 à 16:28:12
Reply

Marsh Posté le 14-04-2008 à 16:45:05    

tu veux sélectionner les lignes du mois précédent par rapport à la date stockée dans ta table, ou par rapport à la date courante ?

Reply

Marsh Posté le 14-04-2008 à 16:59:35    

Euh celles du mois dernier, donc vis-a-vis de la date courante
Le select que j'ai ecris ne marche pas ? pourtant il a l'air

Reply

Marsh Posté le 14-04-2008 à 17:28:41    

celui ci devrait aller mieux (pas testé) :
SELECT * FROM table WHERE MaDate = DATEADD(Month, -1, CURRENT_TIMESTAMP)

Reply

Marsh Posté le 14-04-2008 à 18:14:01    

ok merci de ton aide :)


Message édité par 3xc4l18ur le 14-04-2008 à 18:14:23
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed