Я получаю текущую дату и время, используя NOW() в MySQL. Я хочу преобразовать значение даты в varchar и объединить его с другой строкой. Как мне это сделать?
Преобразовать значение даты и времени в строку
Ответ 1
Используйте DATE_FORMAT()
SELECT
DATE_FORMAT(NOW(), '%d %m %Y') AS your_date;
Ответ 2
Это супер старый, но я решил, что добавлю 2c. DATE_FORMAT
действительно возвращает строку, но я искал функцию CAST
в ситуации, когда у меня уже была строка datetime в базе данных и ей нужно было сопоставить шаблон с ней:
http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html
В этом случае вы должны использовать:
CAST(date_value AS char)
Это отвечает на несколько иной вопрос, но заголовок вопроса кажется довольно неоднозначным, что это может помочь кому-то найти.
Ответ 3
Попробуйте следующее:
concat(left(datefield,10),left(timefield,8))
-
10 char в поле даты на основе полной даты
yyyy-MM-dd
. -
8 char в поле времени на основе полного времени
hh:mm:ss
.
Это зависит от формата, который вы хотите. обычно вы можете использовать script выше, и вы можете конкатрировать другое поле или строку, как вы этого хотите.
Потому что фактическое поле даты и времени протекает как строка, если вы его читаете. Но, конечно, вы получите ошибку при обновлении или вставьте ее.