我正在使用Sql-Server 2012并有一个查询
string sqlQuery = "SELECT distinct DATE_FORMAT(collectiondate,'%m/%d/%Y') FROM reports where patientid= " + patientId + " and isdeleted=false order by collectiondate desc";
var lst = Session.CreateSQLQuery(sqlQuery).List();
ArrayList rpt = new ArrayList();
rpt.Add("--ALL--");
但是我收到了错误
System.Data.SqlClient.SqlException: 'DATE_FORMAT' is not a recognized built-in function name.
有人能帮助我吗?
答案 0 :(得分:2)
答案 1 :(得分:2)
SQL Server中没有DATE_FORMAT
函数。
您需要使用CONVERT
功能
SELECT distinct SELECT CONVERT(VARCHAR(8), collectiondate, 1) ...
此外,格式化最好在代码中完成,而不是在SQL Server中完成。您应该将日期返回DATE
或DATETIME
列,并在代码中对其进行格式化。
答案 2 :(得分:0)
您可以在SQL Server 2012中使用FORMAT()命令。
DECLARE @d DATETIME = GETDATE();
SELECT FORMAT(@d, 'mm/dd/yy', 'en-US') AS 'Result';