Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySQL Date and Time functions don't exist

I have installed WampServer 2.0 with MySQL 5.1.33.

I can do Numeric and String functions like

SELECT ABS(-2)
or
SELECT LOWER('ASD')

but with Date and Time Functions such as

SELECT CURDATE()
or
SELECT NOW()

I get

Error : no such function: CURDATE

Am I doing something wrong, is there anything I need to install?

Any help about where to start investigating?

like image 555
Peter Lang Avatar asked Jan 02 '10 14:01

Peter Lang


2 Answers

There is no error message from MySQL with the text "No such function." I just did a grep on the whole source tree of MySQL 5.1, and that string does not occur anywhere (except in one comment).

My thought is that you aren't using MySQL, you're using SQLite. Because I can reproduce that error when I run the SQLite command-line shell:

$ sqlite3
sqlite> select curdate();
Error: no such function: curdate
sqlite> select now();
Error: no such function: now

In SQLite, the function to get the current date is simply date():

sqlite> select date();
2010-01-02
like image 130
Bill Karwin Avatar answered Nov 16 '22 13:11

Bill Karwin


Many functions are different in SQlite and in MySQL (or any other product - if you except core functions, most functions provide the same functionality but with a different syntax). There is an open-source "compatibility library" implementing a large number of MySQL functions in SQLite on the Kansas State University CIS website

like image 42
user5317509 Avatar answered Nov 16 '22 14:11

user5317509