我想分别显示datetime字段。使用SELECT CONVERT(VARCHAR(10),DateField,101) as DatePart
会给我带来错误。
这是我的原始代码:
$sql = "SELECT product.name, orders.date, orders.time FROM orders INNER JOIN
product ON orders.product_id = product.id AND
orders.customer_id='$customer_id'";
首先,我已将订单日期和时间更改为日期时间,现在我想单独显示它们。正如之前的工作一样。
其次,我的加入是否正确?我想知道到目前为止客户买了什么?
答案 0 :(得分:1)
您可以使用TIME和DATE功能。对于JOIN
,customer_id检查应位于Where
,因为它未与产品相关联。此外,如果在不同的表中有两列,则应始终先放置表的名称,以便程序知道您正在讨论的列(请参阅此处product.product_id
)。
SELECT product.name, DATE(orders._datetime), TIME(orders._datetime)
FROM orders
INNER JOIN product ON orders.product_id = product.product.id
WHERE orders.customer_id='$customer_id'
答案 1 :(得分:0)
你可以这样做。
SELECT DATE_FORMAT('2017-11-13 11:10:09', '%Y-%m-%d') AS date,
DATE_FORMAT('2017-11-13 11:10:09', '%T') AS time;
输出
date time
2017-11-13 11:10:09
您的加入对我来说没问题。