В стандартном SQL, current_date
- это функция, которая не принимает аргументов.
select current_date;
1) s CURRENT_DATE, CURRENT_TIME и CURRENT_TIMESTAMP соответственно возвращают текущую дату, текущее время и текущая метка времени; значения времени и метки времени возвращаются со смещением часового пояса, равным текущему смещению часового пояса SQL -сессии.
Грамматика определяет ее как вызываемую без паренов, в отличие от необязательные скобки на current_time
и current_timestamp
.
<current date value function> ::= CURRENT_DATE
<current time value function> ::=
CURRENT_TIME [ <left paren> <time precision> <right paren> ]
<current timestamp value function> ::=
CURRENT_TIMESTAMP [ <left paren> <timestamp precision> <right paren> ]
Это зарезервированное слово SQL; его нельзя использовать в качестве пустого имени столбца, поэтому current_date
однозначно является вызовом функции.
MySQL расширяет его, допуская также символы Parens.
select current_date();
version()
является MySQL расширением. Это не зарезервированное слово. Это даже не ключевое слово MySQL. Паренсы должны избегать двусмысленности со столбцом с именем «версия».
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.19 |
+-----------+
mysql> select version;
ERROR 1054 (42S22): Unknown column 'version' in 'field list'