SQL分页语句,在ACCESS中的有关问题
SQL分页语句,在ACCESS中的问题
SELECT TOP 2 * FROM CustomerData
WHERE CustomerID > (
SELECT ISNULL(MAX(CustomerID),0)
FROM ( SELECT TOP 0 CustomerID
FROM CustomerData
ORDER BY CustomerID) A )
ORDER BY CustomerID
红色部份在ACCESS中不行 ISNULL其实CustomerID字段为填项 可以不用ISNULL
这句要要怎么改才能让ACCESS 和 SQL 共用
------解决方案--------------------
SELECT TOP 2 * FROM CustomerData
WHERE CustomerID > (
SELECT ISNULL(MAX(CustomerID),0)
FROM ( SELECT TOP 0 CustomerID
FROM CustomerData
ORDER BY CustomerID) A )
ORDER BY CustomerID
红色部份在ACCESS中不行 ISNULL其实CustomerID字段为填项 可以不用ISNULL
这句要要怎么改才能让ACCESS 和 SQL 共用
------解决方案--------------------
- SQL code
iif(IsNull(MAX(CustomerID)),0,MAX(CustomerID))
------解决方案--------------------
SQL是ISNULL或CASE WHEN;ACCESS是IIF 2者不能通用
做成通用,就去掉这个函数,保正CustomerID不为null即可,比如设置默认值,旧数据为null的全部更新为0
------解决方案--------------------
isnull()函数,如果为空则赋值,不同的数据库写法都不一样,oracle里decode、caseof、nvl都可以,还是根据不同数据库来写吧