Accueil > Forum > > > > DATETIME SQL SERVER AU SECOURS !!!!!!
DATETIME SQL SERVER AU SECOURS !!!!!!
mercredi 29 décembre 2004 à 11:27:01 |
DATETIME SQL SERVER AU SECOURS !!!!!!

MACHOMAN
|
bonjour, j'ai plusieurs pb avec les datetime sous sql server : 1 - j'ai deux champs datetime, dans le premier il y a une date dans le second une heure, quand je veux les concatener dans un autre champ avec un '+' (champDate + champHeure), il me soustrait deux jours !!! ex : champDate champHeure concat 12/04/2004 15:14:00 10/12/2004 15:14:00 !!! 2 - Quand je veux faire l'inverse, c'est à dire séparer ma date et mon heure de mon champ concatené j'utilise CONVERT(SMALLDATETIME, champDateSmall,103) ici je veux dans mon champDateSmall que la date, bah non il me sort tout ! (mon champDateSmall est bien déclaré en SMALLDATETIME) !! AU SECOURS PLEASEEEEEEEEEEE !!!!!
|
|
mercredi 29 décembre 2004 à 21:55:57 |
Re : DATETIME SQL SERVER AU SECOURS !!!!!!

fabrice69
|
Pour la première question, Il faut utiliser le cast ou convert vers du varchar
Par exemple : SELECT CAST(champDate AS Varchar(10)) + CAST(champHeure AS Varchar(10))
J'ai pris 10 en taille, mais il faut l'adapter à ton cas
Pour la seconde question, Cela vient du type lui même SmallDateTime, voila une copie de l'aide MSDN sur ce type :
---------------------------------- datetime et smalldatetime Types de données de date et d'heure permettant de représenter la date et l'heure de la journée.
datetime
Données de date et d'heure comprises entre le 1er janvier 1753 et le 31 décembre 9999, avec une précision d'un trois centième de seconde (soit 3,33 millisecondes ou 0.00333 secondes). Les valeurs sont arrondies à des incréments de .000, .003 ou .007 secondes, comme cela est illustré dans le tableau suivant :
Exemple Résultat arrondi 01/01/98 23:59:59.999 1998-01-02 00:00:00.000 01/01/98 23:59:59.995, 01/01/98 23:59:59.996, 01/01/98 23:59:59.997, ou 01/01/98 23:59:59.998 1998-01-01 23:59:59.997 01/01/98 23:59:59.992, 01/01/98 23:59:59.993, 01/01/98 23:59:59.994 1998-01-01 23:59:59.993 01/01/98 23:59:59.990 ou 01/01/98 23:59:59.991 1998-01-01 23:59:59.990
Microsoft® SQL Server? rejette toutes les valeurs qu'il ne peut identifier comme date comprise entre 1753 et 9999.
smalldatetime
Données de date et d'heure comprises entre le 1er janvier 1900 et le 6 juin 2079, avec une précision d'une minute. Les valeurs de secondes utilisée avec smalldatetime inférieures ou égales à 29,998 sont arrondies à la minute inférieure ; les valeurs supérieures ou égales à 29,999 sont arrondies à la minute supérieure.
--returns time as 12:35 SELECT CAST('2000-05-08 12:35:29.998' AS smalldatetime) GO --returns time as 12:36 SELECT CAST('2000-05-08 12:35:29.999' AS smalldatetime) GO
Notes Microsoft SQL Server stocke de manière interne les valeurs de type datetime sous la forme de deux entiers de 4 octets. Les 4 premiers octets contiennent le nombre de jours écoulés avant ou après la date de base (base date) du 1er janvier 1900, qui sert de référence au système. Les valeurs datetime représentant des dates antérieures au 1er janvier 1753 ne sont pas autorisées. Les 4 autres octets stockent l'heure du jour représentée par le nombre de millièmes de seconde après minuit.
Le type de donnée smalldatetime stocke les dates et les heures du jour avec une précision inférieure à celle du type datetime. SQL Server stocke les valeurs smalldatetime sous la forme de deux entiers de 2 octets. Les deux premiers octets contiennent le nombre de jours après le premier janvier 1900. Les deux autres octets stockent le nombre de minutes écoulées après minuit. Ce type de données permet de stocker les dates comprises entre le 1er janvier 1900 et le 6 juin 2079, avec une précision d'une minute.
-------
Ainsi un type smalldatetime contient aussi les seconde comme le datetime mormal. Voila d'ailleurs la différence entre ces 2 type de données :
----- datetime et smalldatetime datetime
Données de date et d'heure comprises entre le 1er janvier 1753 et le 31 décembre 9999, avec une précision de trois centièmes de seconde ou de 3,33 millisecondes.
smalldatetime
Données de date et d'heure comprise entre le 1er janvier 1900 et le 6 juin 2079, avec une précision d'une minute. -----
Si tu ne veux que la date elle même il faut bien choisir le format de sorti pour n'avoir que la date, pour l'afficher en 103 il faut convertir en nvarchar pas en smalldatetime car c'est déja un smalldatetime.
Donc pour la seconde question la réponse est a mon sens : CONVERT(NVARCHAR(10), champDateSmall,103)
Romelard Fabrice (Alias F___)
|
|
jeudi 30 décembre 2004 à 09:17:16 |
Re : DATETIME SQL SERVER AU SECOURS !!!!!!

MACHOMAN
|
j'ai un autre pb, j'ai un champ varchar dans lequel j'ai une date avec ce format : 14/12/2004 15:34:00 Je veux séparer la date (14/12/2004) dans un champ datetime et l'heure (15:34:00) dans un autre champ datetime. Pour la date j'y arrive, je fais : ChampDate = SUBSTRING (CAST(ChampVarChar AS varchar(50)),1,11) Et j'ai bien dans mon champDate 14/12/2004 Pour mon champTime c'est une autre histoire ! quoi que je fasse, un substring, cast, convert.... j'ai toujours 14/12/2004 15:34:00 ou 1/1/1900 15:34:00 J'ai essayé ta solution CONVERT(NVARCHAR(10), champDateSmall,109), mais ca ne marche pas, pourtant le CONVERT est bien sensé convertir des chaines en date ou heure ! enfin je crois http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0901/fr/html/dbrffr9/00000145.htm CONVERT ( type de données, expression [ , style_format ] ) style_format L'argument style_format est un numéro de code de style qui décrit le format de date à utiliser pour convertir des chaînes en dates ou en heures et vice versa. Les valeurs de l'argument style_format ont les significations suivantes Au secours 
|
|
jeudi 30 décembre 2004 à 10:16:34 |
Re : DATETIME SQL SERVER AU SECOURS !!!!!!

fabrice69
|
Dans ce cas, il faut utiliser les fonctions internes pour cette demande : - DAY - MONTH - YEAR
Voila d'ailleurs toutes les fonctions SQL pour les manipulations de Date : ---- Fonction Propriété de déterminisme DATEADD Déterministe DATEDIFF Déterministe DATENAME Non déterministe DATEPART Cette fonction est déterministe, sauf si elle est utilisée en tant que DATEPART (dw, date). Le paramètre dw, élément de date weekday, dépend de la valeur configurée par SET DATEFIRST, qui définit le premier jour de la semaine. DAY Déterministe GETDATE Non déterministe GETUTCDATE Non déterministe MONTH Déterministe YEAR Déterministe -----
Pour l'heure, je pense qu'il faut proceder autrement, via le convert et le N° 108 :
CONVERT (VARCHAR(8), TonChampDateHeure, 108)
Voila d'ailleurs la liste des formats possible pour les données datetime :
Sachant que la différence entre la série 1... 9 et 101 ... 109 est que le 10x rend l'année avec le siecle.
----- Sans siècle (yy) Avec siècle (yyyy) Standard Entrée/Sortie** - 0 ou 100 (*) Par défaut mon dd yyyy hh:miAM (or PM) 1 101 USA mm/dd/yy 2 102 ANSI yy.mm.dd 3 103 Anglais/Français dd/mm/yy 4 104 Allemand dd.mm.yy 5 105 Italien dd-mm-yy 6 106 - dd mon yy 7 107 - Mon dd, yy 8 108 - hh:mm:ss - 9 ou 109 (*) Valeur par défaut + millièmes de secondes mon dd yyyy hh:mi:ss:mmmAM (or PM) 10 110 USA mm-dd-yy 11 111 Japon yy/mm/dd 12 112 ISO yymmdd - 13 ou 113 (*) Valeur par défaut Europe + millièmes de secondes dd mon yyyy hh:mm:ss:mmm(24h) 14 114 - hh:mi:ss:mmm(24h) - 20 ou 120 (*) ODBC canonique yyyy-mm-dd hh:mi:ss(24h) - 21 ou 121 (*) ODBC canonique (avec millièmes de secondes) yyyy-mm-dd hh:mi:ss.mmm(24h) - 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(no spaces) - 130* Kuwaiti dd mon yyyy hh:mi:ss:mmmAM - 131* Kuwaiti dd/mm/yy hh:mi:ss:mmmAM ----
Romelard Fabrice (Alias F___)
|
|
Cette discussion est classée dans : secours, date, sql, server, datetime
Répondre à ce message
Sujets en rapport avec ce message
sql server 2000 + probleme de datetime ! [ par jimmy69 ]
Bonjour,Dans une db sous sql server 2000 on a une table qui utilise une colonne de type datetime.J'aimerais savoir quelle est la query SQL à utiliser
sql server datetime [ par brmdevinci ]
svp j'execute cette requete " select * from personne where date_nais='12/02/1986'" la resultat est un tableau vide sachant que quand j'ai remplit la
SQL Server: Suppression fichiers par rapport à une date [ par stan08 ]
Bonjour,J'aimerais connaitre le moyen (s'il existe) de supprimer dans un répertoire tous les fichiers dont la date de modification (ou création) est s
[SQL Server] Modifier/forcer l'heure d'un DATETIME [ par Sieurcoug ]
Bonjour,Dans une fonction, j'ai besoin de forcer l'heure d'un DATETIME.Par exemple si l'heure de création est inférieure à 8h00, il faut retenir 8h00
sql server [ par mahamourta ]
salut svp lorsque je fais une insertion dans une base de donnee sous sql server ,le format de la date est annee-mois-jour,alors que je veux un form
Insertion de la date seulement (SQL Server 2005) [ par OmarEK ]
Salut,Est ce qu'il y a un moyen pour inserer que la date dans une table d'une base de données SQL au lieu de mettre la date et l'heure, tout en suppos
[SQL] date - n heures [ par remifalcon ]
Bonjour, après avoir chercher différents tuto, je viens vers vous pour ce problème:Je cherche à faire une requète SQL me renvoyant toutes les lignes (
Probleme de DATE sous SQL server [ par youyou08 ]
J'ai un probleme avec la création d'une variable Date sous SQL server J'ai taper le code suivant pour créer ma variable DECLARE @date DATETIME SET @d
VB.net 2005 et SQL 2005 Express : Prbl DateTime [ par morleys ]
Bonjour à vous tous,Je coince voilà quelque temps sur un probleme d'enregistrement de date SQL 2005.Si j'ai toto = Cdate(Now()) Pour info toto
test si string (datetime) est correct. [ par tmcuh ]
Voilà un big soucis avec SQL. Je récupère une donnée de type char[10] provenant d'une table (qui ne m'appartient pas) et je dois tester à l'interrieur
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|