Сложение с null в запросе
Иногда удаётся найти подводные камни там, где совсем не ждешь от 1С. Оказывается в запросах 1С, сложение столбцов а+б даёт в сумме null, если одно из значений равно null. даже если чётко укажешь преобразовать значение в строку, например так:
1 |
строка(geo_coors_public_regions.name)+строка(geo_coors_public_areas.name) |
Не прокатывает (с). Приходится городить код вида:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
ВЫБОР КОГДА geo_coors_public_regions.name ЕСТЬ NULL ТОГДА "" ИНАЧЕ geo_coors_public_regions.name КОНЕЦ + "," + ВЫБОР КОГДА geo_coors_public_areas.name ЕСТЬ NULL ТОГДА "" ИНАЧЕ geo_coors_public_areas.name КОНЕЦ + "," + ВЫБОР КОГДА geo_coors_public_cities.name ЕСТЬ NULL ТОГДА "" ИНАЧЕ geo_coors_public_cities.name КОНЕЦ + "," + ВЫБОР КОГДА geo_coors_public_settlers.name ЕСТЬ NULL ТОГДА "" ИНАЧЕ geo_coors_public_settlers.name КОНЕЦ ИЗ ... |