0
votes

En utilisant datte_add avec actuel_date pour trouver des choses qui se produisent aujourd'hui dans une table

J'essaie de choisir ma table où je regarde des choses qui se sont produites aujourd'hui.

Je l'ai configuré comme: xxx

Je continue à obtenir l'erreur que date_add n'est pas un identifiant valide . J'utilise mysql.

J'ai aussi essayé daaddd () mais je ne pense pas que l'on travaille dans mysql.


3 commentaires

MySQL 4.0 ci-dessous utilise Curdate ()


Je ne pense pas que vous utilisiez mysql. Vous devriez vérifier la base de données que vous utilisez. Date_add () fait partie de MySQL tant que je peux me souvenir.


Je viens de vérifier et je suis en train d'utiliser SQL * Plus: version 19.0.0.0.0 - Production au soleil 22 16:30:47 2019 Version 19.3.0.0.0 Mon professeur a appelé it mysql mais peut-être que ce n'est pas ?? Je ne sais pas.


3 Réponses :


1
votes

problème avec votre code: date_add () accepte une date comme premier argument et une expression d'intervalle en tant que second argument

considérer: xxx

ou Vous pouvez utiliser addate ( ) , qui, en tant que second argument, peut accepter un intervalle ou un nombre de jours xxx

note 1: Veuillez noter que actuel_date () est une fonction. Bien que MySQL accepte également l'orthographe actuel_date et actuel_date () , je constate que les parenthèses rendent le but plus clair.

Note 2: Comme pour Daaddd () , il n'existe tout simplement pas dans mysql.


3 commentaires

Quand je fais courant_date () avec les parenthèses, cela me donne l'erreur "mot-clé manquant"


@SelfhatingLoser: En fait, les deux devraient fonctionner (avec ou sans parenthèses), comme expliqué dans la documentation (je viens de modifier ma réponse pour être plus précise à ce sujet). Quelle version de mysql utilisez-vous?


Je pense que j'utilise la version mysqlplus 19.3.0



0
votes

Les versions MySQL plus anciennes que vous pouvez faire comme ça. XXX

et ceci est toujours pris en charge jusqu'à ces versions actuelles de MySQL.


0 commentaires

1
votes

Ne pas utiliser entre code> pour cela! Cela inclut les deux points d'extrémité. Au lieu de: xxx pré>

ou: p> xxx pré>

vous (probablement) ne veux pas minuit entre aujourd'hui et demain. P>

P> Au fait, si date code> est vraiment une date et non un DateTime code>, ce qui précède fonctionnera, mais vous pouvez également écrire: P>

where date >= trunc(sysdate) and
      date < trunc(sysdate) + interval '1' day


6 commentaires

Les dates sont des quêtes donc je ne veux pas utiliser =. Je veux obtenir toutes les heures qui sont entre aujourd'hui Date 00:00:00 et 23:59:59


@SelfhatingLoser. . . C'est ce que la première réponse traite. Votre question n'est pas claire sur le type, j'ai donc ajouté des explications à ce sujet.


Quand je l'ai essayé de la façon dont vous avez dit avec l'intervalle + intervalle 1 jour, cela m'a donné l'erreur "La commande SQL ne s'est pas terminée correctement. Aucune des suggestions de peuples ne semble fonctionner pour moi.: /


@SelfhatingLoser. . . Ça marche bien lorsque j'essaie quand j'essaie: dbfiddle.uk/... .


J'ai fini par le faire comme où date> = sysdate et date


@SelfhatingLoser. . . Si vous utilisez sysdate , vous devez utiliser trunc (sysdate) .