2010-03-06 315 views
42

我想日期&时间值转换为VARCHAR,然后在数据库中存储转换datetime值转换成String在MySQL

我()在MySQL中使用获取的当前日期&时间了,现在想将它转换成字符串,因为我有合并与字符串值

回答

95

使用DATE_FORMAT()

SELECT 
    DATE_FORMAT(NOW(), '%d %m %Y') AS your_date; 
36

这是超级老此值,但我想我会添加我2C。 DATE_FORMAT确实返回一个字符串,但我一直在寻找CAST功能,因为我已经在数据库中的日期时间字符串的情况和需要反对的模式匹配:

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

在这种情况下,你会使用:

CAST(date_value AS char)

这回答一个稍微不同的问题,但问题似乎称号足够暧昧,这可能帮助别人搜索。

+0

标题对问题非常清楚。 Khilen只想将日期字段转换为字符串。您的答案涵盖了两个日期字符串的比较,这不是相关的答案。低估了答案。 – KULKING

+10

其实,@KULKING,我把两个日期作为字符串进行比较,这使得这个特别适用于被问到的问题。这里的问题是类型转换,这是我的答案所要解决的问题,尽管我的问题背景为少量。 – Chords

+2

+1 - 快速获得一个字符串的方法(p.s.有时候在这里有一些小问题)) –

2

试试这个:基于全日yyyy-MM-dd上日期字段

concat(left(datefield,10),left(timefield,8)) 
  • 10字符。

  • 根据全职时间8个字符的时间字段hh:mm:ss

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

因为实际上日期和时间字段踩在字符串,如果你读它。但是当然,你会在更新或插入时出错。