MySQL объединяет результаты извлечения со строкой - PullRequest
2 голосов
/ 14 сентября 2009

Текущий код:

WHERE EXTRACT(YEAR_MONTH FROM timestamp_field) = EXTRACT(YEAR_MONTH FROM now())")

Вместо EXTRACT(YEAR_MONTH FROM now()) я хочу EXTRACT(YEAR FROM now()), но я хочу жестко закодировать месяц в. Как мне объединить результаты извлечения с месяцем ММ, например, 09.

Я попробовал несколько вариантов ниже, но безуспешно.

(EXTRACT(YEAR FROM now())09)

CONCAT(EXTRACT(YEAR FROM now()), 09) 

'EXTRACT(YEAR FROM now())' + '09'

1 Ответ

2 голосов
/ 14 сентября 2009

У вас почти было это:

SELECT CONCAT(EXTRACT(YEAR FROM now()), '09');

Оператор "+" не предназначен для объединения строк, если вы не используете Microsoft SQL Server.

В MySQL используйте CONCAT() или, если вы установите режим SQL на ANSI или PIPES_AS_CONCAT, вы можете использовать стандартный оператор "||":

SET SQL_MODE := 'ANSI';
SELECT EXTRACT(YEAR FROM now()) || '09';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...