我的数据库中有一个列(一个标志),类型为 varchar(1),填充为 Y 或 NULL(这是它的样子,不在我的控制范围内)。
在 SQL Server 中,按查询升序排列,NULL 排在最前面。对于 Oracle 和 DB2,这种行为是否应该保持一致?
相反,如果我在列上有一个 COALESCE 以确保它在查询中不为空,我是否可能会遇到任何性能问题(由于表扫描等)?
编辑
查询需要在所有 3 个数据库上保持一致,否则我将不得不在代码中处理它,因此我考虑使用 COALESCE 函数
编辑
我选择 Pax 作为答案,因为它处理了问题的两个部分并提供了有用的解决方法,但是,感谢 me.yahoo.com/a/P4tXrx 提供指向此处的链接