Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : test si string (datetime) est correct. [ Archives / Besoin d'aide pour ma base de données ] (tmcuh)

mercredi 3 août 2005 à 23:11:49 | test si string (datetime) est correct.

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 si le champs char[10] (libre) correspond à une date valide.
En gros ce champs ne sert dans le programme que comme champs de saisie de date, mais si la secretaire tape 12/13/2005, SQL server doit gérer le fait que la date n'est pas valide.
Car moi derrière je vais transformer ce string en datetime mais voilà sql renvoie une erreur sans pouvoir la gérer.
Quelqu'un a -t-il une solution?

Par avance merci,
Laurent

mercredi 3 août 2005 à 23:36:33 | Re : test si string (datetime) est correct.

sim51

Membre Club
Salut,
Pour moi il faut que tu fasse une fonction stockée date_is_valid qui renvoie true si la date est valide.
Pour cela il te suffit de tester si la partie comprise entre le 4 et le 5 caractère est comprise entre 1 et 12, puis suivant le mois si la partie comprise entre le 1 et le 2 caractère fait bien parti du mois, ainsi que les séparateur ( donc le 3, 6 caractère sont bien des / ).
En suite il faut que tu créer un trigger qui avant que tu insère ou que tu update dans ta base te dise si la date est valide
Voilà, Bonne continuation.

N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!

jeudi 4 août 2005 à 08:14:46 | Re : test si string (datetime) est correct.

tmcuh

hello, tout d'abord merci pour cette réponse on va dire qu'elle me va à moitié, car crée la fonction celà impliquera qu'il faille créer aussi le controle qui va avec, année bisextile, mois < 30 jours, etc... beaucoup plus compliqué donc que de simplement tester si compris dans une fourchette. ex : 29/02/2005, existe pas.
Il n'existe donc aucune fonction prévu dans SQL pour faire celà?

Amicalement TMCUH

jeudi 4 août 2005 à 17:40:56 | Re : test si string (datetime) est correct.

sim51

Membre Club
Re,
Je sais pas si cette fonction existe, cependant le serveur doit bien en posséder une pour que lorsqu'on entre une date non valide dans un champ date, une erreur apparaisse.
Sinon pour les années bisesxile, comme cela revient tout les quatres ans, ba tu fais la différence entre l'année entré et une année bisextile ( je ne me souviens quand c'était la dernière ) puis tu divise par 4 et si le reste est de zero, ba c'est une année bisextile ( cela revient à faire un modulo 4 ).
La fonction n'est pas difficile a programmer, mais un peu longue c'est tout.
Bonne continuation.

N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!

jeudi 4 août 2005 à 19:49:47 | Re : test si string (datetime) est correct.

coq

Administrateur CodeS-SourceS
Réponse acceptée !
Salut, 

Probablement avec ISDATE.



Cocoricoooooooo !!!!
coq
MVP Visual C#



Cette discussion est classé dans : date, string, sql, champs, datetime


Répondre à ce message

Sujets en rapport avec ce message

DATETIME SQL SERVER AU SECOURS !!!!!! [ par 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 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 Problème avec SQL EXPRESS est champs date et time [ par drakkard ] Bonjour, bonjourvoici mon pb,sur SQL EXPRESS 2005 je cherche à mettre en place dans ma table des champs date et des champs time.Je n'ai trouvé que le 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 Problème de copnversion Access -> SQL Server 2000 champs Date [ par NHenry ] BonjourJ'ai un problème : Lorsque j'utilise l'assistant d'importation/exportation de données entre Access et SQL Server 2000, il me convertit les cha convert string to date [ par sofiesofie ] salut,j'ai une table "matable"(num, date) tel que date de type datetime.dans ma formulaire la date est de type string (string d="24/05/2008").pour fai [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 ( [SQL Server 2005] problème heure au format 12h [ par sdisp ] Bonjour.J'ai un soucis avec une requête sur un serveur SQL Serveur 2005 sous Windows 2003 Serveur US.Je m'explique, j'ai un champ de type datetime (ma la Date la plus recente (Sql Access) [ par vortex11 ] bonjours a tous! je me permet de vous pose cette kestion  pt'etre debile mais bon:: est ce k il existe sous  sql/access un fonction  pour faire ressor Problème de tri avec le champs DATE [ par 6xavier6 ] BonjourMerci a ceux qui vont plancher avec moi et me filer un coup de main.Voila mon probleme :Mon probleme cible le tri sur les champs DATE.Dans ma t


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,172 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.