2014-04-01 52 views
1

以前我使用的是MySQL。这样我就可以使用下面的查询从数据库中获取最大数量。sqlsrv从表中找到最大值

这里 '不' 是VARCHAR(10):

SELECT max(cast(No as unsigned)) as No FROM `tableName` LIMIT 1 

上面的查询在MySQL工作的罚款。我想在MS SQL中做同样的事情。当我运行相同的查询时,出现以下错误:

Warning: sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given 

对此有何建议?

+0

这是整个查询?如果没有,请你可以发布整个查询? – sarin

+1

我不认为SQL/Server支持unsigned(所以它可能认为它是一个参数) - 尝试int并看看会发生什么。 – PeterJ

+1

@PeterJ - 绝对正确:http://msdn.microsoft.com/en-us/library/ms187752.aspx – sarin

回答

1

SQL Server中没有限制,没有无符号数据类型,也不需要引用表名。 这样做的工作:

SELECT max(cast(No as bigint)) as No FROM tableName 
+0

不可以不可 –

+0

错误的结果或错误? – dean