Re: Question on CURDATE()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I just noticed I was wrong, the original SQL statement would return rows, but 
only if BEGIN = CURDATE(). I stated it would never happen, and that's wrong. 
Sorry. :) 

-Micah 

On Tuesday 13 September 2005 9:42 pm, Micah Stevens wrote:
> Hi Jordan,
>
> Syntactically, there is no restriction on OR'ing or AND'ing conditions. You
> could very well do this:
>
> Select somefield where otherfield = 1 and otherfield = 2;
>
> Of course, otherfield would never be both 1 and 2, so this is a worthless
> select statement, however, my point is, there would be no syntax error.
>
> Same deal with this:
> SELECT * FROM WEEKS WHERE BEGIN >= CURDATE() AND END <= CURDATE();
>
> This means, give me everything that begins before today or today, and after
> today or today.  Which of course is silly, that can't happen. So you'll
> never get anything back. However, there's nothing syntactically wrong with
> the statement.
>
> Replacing it by 'OR' give you all results, so it's just as silly why even
> have the 'WHERE' condition in the first place? I think reclmaples needs to
> re-analyze what he's trying to accomplish, but again, there's nothing
> syntactically (stupid spellcheck) wrong with the statement.
>
> I'm going out on a limb here, but it seems what the point is to get
> everythign that's not today, in which case you'd just say that:
>
> SELECT * FROM WEEKS WHERE BEGIN != CURDATE();
>
> Or, if you only want today:
> SELECT * FROM WEEKS WHERE BEGIN = CURDATE();
>
> I hope that helps? not sure, I may as I said be missing the goal.
>
> -Micah
>
> On Tuesday 13 September 2005 9:14 pm, Jordan Miller wrote:
> > Micah,
> > Oh, my bad. I was trying to remember how I did something like this
> > before, stringing together a lot of "WHERE"s. You're right, though,
> > it wasn't "WHERE", it was "OR".
> >
> > Rich,
> > I think you need "OR" instead of "AND", OR else I'm just totally out
> > to lunch tonight:
> > SELECT * FROM WEEKS WHERE BEGIN >= CURDATE() OR END <= CURDATE();
> >
> > The syntax error is that something cannot be >= AND <= the same thing
> > at the same time!
> >
> > I have had this problem before in the past. You say to yourself,
> > well, I need all of the records, so that intuitively makes you choose
> > "AND" when in SQL it should technically be "OR"  (you want the
> > records that are true for each of these operators separately, NOT at
> > the same time, which for most records is impossible).
> >
> > Also, you may want to take away one of the "=" signs, or you may get
> > something "=" to CURDATE() twice (not sure how SQL handles this).
> >
> > Maybe try (taking out one of the "="):
> > SELECT * FROM WEEKS WHERE BEGIN >= CURDATE() OR END < CURDATE();
> >
> > Maybe it's just late over here. Has anyone else run into this same
> > thing?
> >
> > Jordan
> >
> > On Sep 13, 2005, at 10:36 PM, Micah Stevens wrote:
> > > You can't do that in SQL, that would give you a big fat syntax error.
> > >
> > > On Tuesday 13 September 2005 7:45 pm, Jordan Miller wrote:
> > >> Rich,
> > >>
> > >> Did you try putting "WHERE" twice?
> > >>
> > >> try:
> > >> SELECT * FROM WEEKS WHERE BEGIN >= CURDATE() and WHERE END <=
> > >> CURDATE;
> > >>
> > >> Jordan
> > >>
> > >> On Sep 13, 2005, at 9:08 PM, reclmaples wrote:
> > >>> I am trying to write a statement that will basically do this:
> > >>>
> > >>> SELECT * FROM WEEKS WHERE BEGIN >= CURDATE() and END <= CURDATE;
> > >>>
> > >>> But for some reason I can only use one CURDATE() reference in my sql
> > >>> statement, does anyone know why?  Is there a way I can get around
> > >>> this?
> > >>>
> > >>>
> > >>> Any help would be greatly appreciated.
> > >>>
> > >>> Thanks
> > >>> -Rich
> > >>>
> > >>> --
> > >>> PHP Database Mailing List (http://www.php.net/)
> > >>> To unsubscribe, visit: http://www.php.net/unsub.php
> > >
> > > --
> > > PHP Database Mailing List (http://www.php.net/)
> > > To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux