我有一个记录每日销售的数据库。 现在我希望两个日期之间的客户端优秀。 我的date_列在varchar中。 我没有得到所需的结果。通过这个查询和我在查询之间使用它显示错误的数据。所以解决方案是什么?请帮助
SELECT clientid AS [ID],SUM(convert(float, total)) AS [SUM]
FROM buffalo_milk_sale
WHERE clientid BETWEEN 'HD001' AND 'HD099'
AND CONVERT(DateTime, date_, 103) >= CONVERT(DateTime, '01/09/2014', 103)
AND CONVERT(DateTime, date_, 103) <= CONVERT(DateTime, '09/09/2014', 103)
GROUP BY clientid
错误
将varchar数据类型转换为日期时间数据类型会导致超出范围的值。
答案 0 :(得分:0)
试试这个
SELECT clientid AS [ID],SUM(convert(float, total)) AS [SUM]
FROM buffalo_milk_sale
WHERE clientid BETWEEN 'HD001' AND 'HD099'
AND CONVERT(VARCHAR(10), date_, 111) >= CONVERT(DateTime, '01/09/2014', 103)
AND CONVERT(VARCHAR(10), date_, 111) <= CONVERT(DateTime, '09/09/2014', 103)
GROUP BY clientid