MySQL 到 SQL Server 2014

标签 mysql sql sql-server

我有以下查询:

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/

相关文章:

javascript - 使用ajax从mysql数据库获取日期选择数据

MySQL 复制错误 (1062)

mysql - MySQL 中需要进行连接的条件列

mysql - 使用开始日期和结束日期列过滤所有数据

sql-server - SQL Server 2005 中的不可见外键

php - 使用 POST 更新 mysql 表

mysql - SQL - 如何使用不同表中的数字获取名称?

c# - 当数据库未启动但 SQL Server 已准备好连接时出现 SqlException

c# - SQL Server 中串联的最佳实践?

sql-server - 查看存储过程是否已经在运行