如果我在MySQL中使用此命令:
SELECT node.nid AS nid, users.uid AS users_uid, node.created AS node_created
FROM dr_wiwe_node node
LEFT JOIN dr_wiwe_content_type_classified node_data_field_classified_valid_till ON node.vid = node_data_field_classified_valid_till.vid
INNER JOIN dr_wiwe_users users ON node.uid = users.uid
WHERE (
(
node.type
IN (
'classified'
)
)
AND (
node.status & lt ; & gt;
0
)
) AND (
DATE_FORMAT(STR_TO_DATE(
node_data_field_classified_valid_till.field_classified_valid_till_value, '%Y-%m-%dT%T'
), '%Y-%m-%d\T%H:%i:%s' ) & gt ; = '2010-08-15T20:55:48'
) ORDER BY node_created DESC LIMIT 0 , 60
我收到错误#1305 - 功能DB704128.STR_TO_DATE不存在。
但MySQL版本是5.1。错误在哪里?
答案 0 :(得分:1)
我建议将field_classified_valid_till_value字段设为日期时间字段。这样我就可以存储包含时间的字段。
这样你就不需要str_to_date了,我想它会让你的查询更快一些。
当您向表中添加数据时,您可以使用PHP的strtotime函数处理它。 http://de.php.net/manual/en/function.strtotime.php
假设PHP是用于将新数据插入数据库的语言。