You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wrap REPLACE calls with IIF to ensure NULL propagation when any argument is NULL, preventing "Type mismatch" errors in Access. Substitute safe placeholders for NULL arguments to avoid runtime errors. Update tests to match new SQL output.
WHERE (REPLACE(`e`.`NullableStringA`, `e`.`NullableStringB`, `e`.`NullableStringC`) = `e`.`NullableStringA`) OR (REPLACE(`e`.`NullableStringA`, `e`.`NullableStringB`, `e`.`NullableStringC`) IS NULL AND `e`.`NullableStringA` IS NULL)
3151
-
""",
3147
+
"""
3148
+
SELECT `e`.`Id`
3149
+
FROM `Entities1` AS `e`
3150
+
WHERE IIF(`e`.`NullableStringA` IS NULL OR `e`.`NullableStringB` IS NULL OR `e`.`NullableStringC` IS NULL, NULL, REPLACE(IIF(`e`.`NullableStringA` IS NULL, '', `e`.`NullableStringA`), IIF(`e`.`NullableStringB` IS NULL, CHR(1), `e`.`NullableStringB`), IIF(`e`.`NullableStringC` IS NULL, CHR(1), `e`.`NullableStringC`))) = `e`.`NullableStringA` OR ((`e`.`NullableStringA` IS NULL OR `e`.`NullableStringB` IS NULL OR `e`.`NullableStringC` IS NULL) AND `e`.`NullableStringA` IS NULL)
3151
+
""",
3152
3152
//
3153
-
$"""
3154
-
SELECT `e`.`Id`
3155
-
FROM `Entities1` AS `e`
3156
-
WHERE ((REPLACE(`e`.`NullableStringA`, `e`.`NullableStringB`, `e`.`NullableStringC`) <> `e`.`NullableStringA`) OR (REPLACE(`e`.`NullableStringA`, `e`.`NullableStringB`, `e`.`NullableStringC`) IS NULL OR `e`.`NullableStringA` IS NULL)) AND (REPLACE(`e`.`NullableStringA`, `e`.`NullableStringB`, `e`.`NullableStringC`) IS NOT NULL OR `e`.`NullableStringA` IS NOT NULL)
3157
-
""");
3153
+
"""
3154
+
SELECT `e`.`Id`
3155
+
FROM `Entities1` AS `e`
3156
+
WHERE (IIF(`e`.`NullableStringA` IS NULL OR `e`.`NullableStringB` IS NULL OR `e`.`NullableStringC` IS NULL, NULL, REPLACE(IIF(`e`.`NullableStringA` IS NULL, '', `e`.`NullableStringA`), IIF(`e`.`NullableStringB` IS NULL, CHR(1), `e`.`NullableStringB`), IIF(`e`.`NullableStringC` IS NULL, CHR(1), `e`.`NullableStringC`))) <> `e`.`NullableStringA` OR `e`.`NullableStringA` IS NULL OR `e`.`NullableStringB` IS NULL OR `e`.`NullableStringC` IS NULL OR `e`.`NullableStringA` IS NULL) AND ((`e`.`NullableStringA` IS NOT NULL AND `e`.`NullableStringB` IS NOT NULL AND `e`.`NullableStringC` IS NOT NULL) OR `e`.`NullableStringA` IS NOT NULL)
0 commit comments