我有以下查询:
SELECT Date(time) AS date, COUNT(*) AS total FROM branches INNER JOIN
stats ON branches.branch_id = stats.branch_id WHERE stats.time BETWEEN
'$from' AND '$to' AND branches.bgroup='$group' GROUP BY date;
但是当我在 SQL Server 上运行这个查询时,我得到了错误:
error SQLSTATE[42000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]'Date' is not a recognized built-in function name.
如何转换为 SQL Server?
最佳答案
SQL Server 没有date()
函数。使用 cast()
代替:
SELECT CAST(time as DATE) AS dte, COUNT(*) AS total
FROM branches INNER JOIN
stats
ON branches.branch_id = stats.branch_id
WHERE stats.time BETWEEN '$from' AND '$to' AND
branches.bgroup = '$group'
GROUP BY CAST(time as DATE)
ORDER BY CAST(time as DATE);
关于MySQL 到 SQL Server 2014,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34266046/