IGNORE_SPACEを有効にしているとき、パーサはファンクション名と後続の括弧間に余白が存在
してはいけないという要求を緩和します。このことで、ファンクション呼び出しの記述がより自由に行える
ようになります。例えば、次のどちらのファンクション呼び出しも有効です。

SELECT COUNT(*) FROM mytable;
SELECT COUNT (*) FROM mytable;


mysql> SELECT NOW ();
ERROR 1305 (42000): FUNCTION NOW does not exist
mysql> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2009-07-25 00:03:31 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT NOW ();
ERROR 1305 (42000): FUNCTION NOW does not exist
mysql> SET sql_mode = 'IGNORE_SPACE';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT NOW ();
+---------------------+
| NOW () |
+---------------------+
| 2009-07-25 00:04:13 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2009-07-25 00:04:19 |
+---------------------+
1 row in set (0.00 sec)

mysql> select @@sql_mode;
+--------------+
| @@sql_mode |
+--------------+
| IGNORE_SPACE |
+--------------+
1 row in set (0.00 sec)

mysql>

sql_mode_space

参考サイト
—————————————————————-

8.2.4. 構文解析と解像度のファンクション名

4.2.6. SQL モード

Comments are closed.

Post Navigation