2
votes

Je dois récupérer uniquement la date du champ login1 qui est varchar ayant une valeur comme celle-ci 24/01/2019 13:22:22?

J'ai un tableau dans lequel je saisis le temps de connexion et de déconnexion de l'application frontale. L'heure de connexion et de déconnexion se trouve dans la base de données dans ce format 24/01/2019 13:22:22, maintenant je n'ai besoin que de la date.

Pour que je puisse utiliser pour récupérer des données en fonction de la date particulière, c'est-à-dire que je peux utiliser l'instruction select avec la clause where donnant la date et obtenant les données.

Quelqu'un peut-il m'aider à convertir cela. J'utilise le champ varchar pour stocker la valeur d'entrée provenant du front-end.

Ceci est le tableau et basé sur la date du champ login1, j'ai besoin de récupérer les données.

 entrez la description de l'image ici


3 commentaires

Comme ça marche. De quoi avez-vous besoin de notre part?


Je pense que je vous ai confondu avec la réponse. Le format qui était présent dans la requête est différent de celui que je dois convertir. J'ai mis à jour la question. S'il te plaît vérifie le.


En savoir plus sur les types de données


4 Réponses :


0
votes

Vous pouvez essayer ci-dessous -

select date(STR_TO_DATE(login1, '%m/%d/%Y %H:%i:%s'))


2 commentaires

Cela a fonctionné mais je ne reçois que la date précise à laquelle nous passons. Mais je dois utiliser la date pour récupérer toutes les données à cette date particulière. Pouvez-vous m'aider.


vous devez ajouter le nom de votre colonne, j'ai modifié la réponse - vous pouvez vérifier



0
votes

Vous devez effectuer un cast ou une conversion en tant que type de données VARCHAR, vous pouvez essayer la requête ci-dessous pour obtenir uniquement la date.

SELECT CAST('1970-01-01 00:00:00-08:00' as DATE) as DATE1 FROM dual;


0 commentaires

1
votes

Je suis en mesure d'effectuer la requête requise pour obtenir les données selon mes besoins

  SELECT * FROM timesheet where login1 LIKE '%1/24/2019%'


1 commentaires

comme n'est pas une bonne idée pour faire cela car ses performances diminuent ainsi que vous stricte lors du filtrage entre deux dates



0
votes

Vous pouvez également le faire de cette manière-

  select * FROM Login WHERE date_format(STR_TO_DATE(logindate, '%m/%d/%Y %H:%i:%s'), '%m/%d/%Y') = date('01/18/2019')


0 commentaires