Ваш вопрос неверен:
То, что вы хотели спросить, было:
SELECT Name(), Street FROM Persons
Почему MySQL видит name()
как функцию?
Это потому, что в скобках ()
MySQL знает разницу между именем поля и функцией.
Если вы присоедините скобки к идентификатору, MySQL интерпретирует его как функцию.Если эта функция не существует, она выдаст ошибку.
Если вы этого не хотите, не используйте () в этом контексте.
()
в порядке, если у вас есть пробел перед ними:
SELECT name, (a+b) as aplusb FROM t1 <<-- OK
SELECT name FROM t1 WHERE (a = 1) <<-- OK
SELECT name(a+b) FROM t1 <<-- Incorrect, tries to run a function named `name`