Использование индикатора здесь не «указано» (непреднамеренный каламбур)
Я бы написал так
void testNull()
{
short country_ind = -1;
char address[20];
char *country = "country";
EXEC SQL SELECT ADDRESS INTO :address FROM LOCATIONS
WHERE country is null;
/*
Current, it always output address is London instead of US
*/
printf("address :%d\n", address);
}
И вы можете использовать индикатор для адреса, если вам нужно проверить, не равен ли он потом
Если вы хотите, чтобы "страна" была переменной
тогда ваш код должен выглядеть примерно так:
void testNull()
{
short country_ind = 0; // the word "country" is not null, but the value of the field can be depending on the query/data
char address[20];
char *country = "country";
EXEC SQL SELECT ADDRESS INTO :address FROM LOCATIONS
WHERE :country INDICATOR :country_ind is null;
/*
Current, it always output address is London instead of US
*/
printf("address :%d\n", address);
}