我有一个可以使用 SQL Server 或 MS Access 作为数据存储的项目。在一个 SELECT 语句中,我必须对单个列和单个值执行 COALESCE 操作,如下所示:
SELECT COALESCE([Amount], 0) FROM PaymentsDue;
我想编写一条可以在 SQL Server 和 MS Access 中正确执行的 SQL 语句。最受关注的 SQL Server 版本是 2008,不过跨版本适用的解决方案将是首选。
今天早些时候,有人能够向我展示一个 SQL 技巧 https://stackoverflow.com/questions/7904530/cast-for-format-a-datetime-to-date-on-both-sql-server-and-ms-access这使我能够使用单个 SELECT 语句有效地将 DATETIME 转换为 DATE。我想知道是否有人有类似的技巧来以可应用于的方式执行 COALESCE(例如 IFNULL 或 NZ)操作bothSQL Server 和 MS Access?
我认为没有任何语法在两个平台上具有相同的功能。
Note Nz()
仅在使用 Access 用户界面时可用。
以下是一些可以转化为的建议COALESCE
相当容易,尽管重复专栏很痛苦:
样本1:
SELECT IIF([Amount] IS NULL, 0, [Amount]) FROM PaymentsDue;
样本2:
SELECT SWITCH([Amount] IS NULL, 0, TRUE, [Amount]) FROM PaymentsDue;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)