为使用2005提供的新功能如行列转换pivot将将数据库兼容性由80提升到90,
sp_dbcmptlevel @dbname=’brm_lvjian’, @new_cmptlevel=90
报错:如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
语句为:
SELECT distinct a.orderno,
CONVERT(varchar(10), OrderDate, 20) AS OrderDate
FROM bdorder a
WHERE a.OrderDate >=’2011-02-01′
ORDER BY a.OrderDate
原因在80(sqlserver2000) 中对于ORDER BY 将忽略列前缀。故上面的ORDER BY a.OrderDate执行的是ORDER BY OrderDate
而在90(2005)中是不忽略列前缀的,上面的ORDER BY a.OrderDate因在select中不存在,故报错!
注:查看数据库兼容级别:数据库 – 属性 – 选项
【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
上一篇: 数据分区
下一篇: 为列值指定生成方式如用checksum