sql server 2008 - SQL: Error when trying to filter out all dates older than the current date -
sql server 2008 - SQL: Error when trying to filter out all dates older than the current date -
i'm using sql server 2008. have table stores dates in datetime format (i.e.2012-01-21 15:00:00.000)
i'm trying filter out dates older "today". attempting using query below.
select date mytable date >= getdate() when run though, next error.
conversion failed when converting date and/or time character string. is there i'm doing wrong? help , allow me know if need provide more information!
more information:
[date] of type datetime in mytable.
i have view selects [date] , no manipulation
i'm accessing [date] via view
you don't locale in will matter. possibility date column isn't datetime. don't locale in, (as example) , uk datetime formats treated differently when in reverse format.
uk sees date yyyy-dd-mm hh:mm:ss.fff sees date yyyy-mm-dd hh:mm:ss.fff
for example, throws error:
set language british go select cast ('1999-01-21 10:11:12.345' datetime) go however if alter locale us_english, parse correctly.
if want gurantee it's going parsed yyyy-mm-dd, need strict , utilize total iso spec specifying z between date , time, e.g.,: 1999-01-21z10:11:12.345 parse in same way in both locales.
ultimately, want alter date column datatype of datetime, may need temporarialy alter locale able sucessfully; i.e.:
set language us_english go alter table [...] go set language british go yet fun 'gotcha' watch out when manipulating date/time data.
sidenote: no don't know why microsoft think on in blighty see date yyyy-dd-mm ... i've never encountered format. inherited european formats?
sql sql-server-2008 datetime date
Comments
Post a Comment