2010-09-13 11 views
0

Mise à jour de l'utilisateur dans Excel au 01-03-2010 (comme dans DD-MM-YYYY). Comment puis-je convertir ceci en YYYYMMDD en SQL? J'ai essayé d'utiliser FromDate=Format(Sheet1.Range("A3"),"yyyymmdd") et quand j'ai exécuté l'instruction SQL, il ne montre aucun résultat.Format de la date de conversion

+1

Je pense que les mois sont spécifiés en majuscules M - comme MM - dans votre cas, la chaîne de format doit être aaaaMMJJ – Shekhar

+0

Bob, cela semble suivre d'un post précédent, et vous oubliez de mentionner que c'est VBA, donc les réponses ne ne pas en tenir compte. – Fionnuala

+0

BTW, j'ai testé avant que j'ai répondu à votre post précédent. La cellule A3 contient-elle, disons, 13/09/2010? Lorsque vous tapez 'Format (Sheet1.Range (" A3 ")," yyyymmdd ")' dans la fenêtre immédiate, qu'est-ce qui est retourné? – Fionnuala

Répondre

0

Si vous recherchez les dates sur 20.100.301 alors vous devez habituellement filtrer comme celui-ci

WHERE MyDate >= '20100301' AND MyDate < '20100302' 

La colonne MaDate est susceptible d'avoir un composant temps donc si vous utilisez equals il échoue. Ou vous pouvez supprimer le temps hors de la colonne, mais cela empêcherait le moteur db d'utiliser un index, il est donc préférable de faire une requête de plage selon mon exemple.

BTW, yyyymmdd is the correct format.

+0

Les utilisateurs ne sont pas habitués à yyymmdd. Ils ont entré la valeur en tant que jj-mm-aaaa. J'ai donc besoin de le convertir en premier et les insérer dans la commande sql comme ceci: - où MyDate> = "& FromDate &" et MyDate <= "& ToDate &" – Bob

+0

@Bob: désolé, mon commentaire yyyymmdd était de clarifier ce que shekhar dit (c'est faux). La valeur de la date doit également être entre guillemets. – gbn