将datetime值转换为字符串

Khi*_*len 67 mysql database string datetime

我在mysql中使用NOW()获取当前日期和时间.我想将日期值转换为varchar并将其与另一个字符串连接.我该怎么做?

Fra*_*ens 130

使用DATE_FORMAT()

SELECT
  DATE_FORMAT(NOW(), '%d %m %Y') AS your_date;
Run Code Online (Sandbox Code Playgroud)


Cho*_*rds 53

这是超级老,但我想我会添加我的2c.DATE_FORMAT确实会返回一个字符串,但我一直在寻找这个CAST函数,在我已经在数据库中有一个日期时间字符串并需要对其进行模式匹配的情况下:

http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html

在这种情况下,您将使用:

CAST(date_value AS char)

这回答了一个稍微不同的问题,但问题标题看起来很模糊,这可能有助于搜索.

  • 实际上,@ KULKING,我将这两个日期作为字符串进行了比较,这使得它特别适用于被问到的问题.这里的问题是类型转换,我的答案解决了这个问题,尽管我自己的问题有很少的背景背景. (10认同)
  • +1 - 快速获取字符串的方法(ps有时会有一些小事;)) (2认同)

小智 5

尝试这个:

concat(left(datefield,10),left(timefield,8))
Run Code Online (Sandbox Code Playgroud)
  • 基于完整日期的日期字段上有 10 个字符yyyy-MM-dd

  • 基于全职的 8 个字符的时间字段hh:mm:ss

这取决于您想要的格式。通常您可以使用上面的脚本,并且可以根据需要连接另一个字段或字符串。

因为实际上,如果您读取日期和时间字段,则会将其视为字符串。但是当然,在更新或插入它时您会遇到错误。