Php 使用Datetime转换在Microsoft SQL Server中进行查询
我想知道如何使用datetime convert查询数据: 例如,如果在ORACLE中使用:Php 使用Datetime转换在Microsoft SQL Server中进行查询,php,sql-server,Php,Sql Server,我想知道如何使用datetime convert查询数据: 例如,如果在ORACLE中使用: WHERE TO_CHAR(FQA_END_DATE,'YYYY-MM-DD') = '2014-03-25' 在SQL Server中如何 WHERE ... 请帮忙给我一些建议 谢谢在sql server中,您可以执行以下操作 WHERE CAST(Date_Column AS DATE) = '20140325' --<-- 'YYYYMMDD' ANSI Standard 如
WHERE TO_CHAR(FQA_END_DATE,'YYYY-MM-DD') = '2014-03-25'
在SQL Server中如何
WHERE ...
请帮忙给我一些建议
谢谢在sql server中,您可以执行以下操作
WHERE CAST(Date_Column AS DATE) = '20140325' --<-- 'YYYYMMDD' ANSI Standard
如果FQA_END_DATE是日期时间数据类型;无需进行字符转换即可将其与字符串进行比较。您只需要以明确的格式提供字符串,例如ISO格式yyyyMMdd 因此,如果FQA_END_DATE是一个datetime,则可以:
WHERE FQA_END_DATE = '20140325'
然而,如果FQA_END_DATE包含时间部分和日期,并且您只对日期部分进行比较感兴趣(并且您没有日期数据类型),则存在大量方法,但有一个技巧是通过float运行它
WHERE CAST(FLOOR(CAST(FQA_END_DATE AS FLOAT)) AS DATETIME) = '20140325'
从datetime变量中转换/删除时间部分的。
使用DATEPART或DATEDIFF函数也可以实现同样的效果
最终-您可以使用CONVERT将WHERE的两侧转换为相同的日期格式
WHERE CONVERT(DATETIME, FQA_END_DATE, 112) = CONVERT(DATETIME, '20140325', 112)
在这个问题上存在许多方法,希望这能给我们一些启示
我能给您的最好建议是,如果将日期作为字符串处理,请使用yyyyMMdd(20140325)的ISO格式,因为SQL Server可以自动转换该格式。我遇到如下错误:查找错误-SQL Server数据库错误:类型日期不是定义的系统类型。您使用的是哪个版本的SQL Server?
WHERE CONVERT(DATETIME, FQA_END_DATE, 112) = CONVERT(DATETIME, '20140325', 112)