Um Exemplo Funcional MariaDB 10.4.13 e SC 9.4.006, usando um Campo ‘Date’ da base, DataNascimento:
Crie no Filtro da Consulta 2 Novos Campo tipo ‘Data’
Data_Inicial e Data_Final exemplo:
No OnValidate do Filtro coloque:
// Variáveis Globais -> Saída
[glo_DataAniversario_Inicial_Dia]=substr({Data_Inicial}, -2);
[glo_DataAniversario_Inicial_Mes]=substr({Data_Inicial}, 5, 2);
[glo_DataAniversario_Final_Dia]=substr({Data_Final}, -2);
[glo_DataAniversario_Final_Mes]=substr({Data_Final}, 5, 2);
Marque essas 4 novas variáveis globais como variáveis de saída:
No Evento Principal da Consulta OnScriptInit coloque:
// Coloque no Evento OnScriptinit da Consulta no resto não precisa mudar mais nada, ele vai acrescentar os campos variáveis
// ao filtro do usuário, e na SQL não coloque nada lá também.
// Acrescenta Filtro WHERE manual ao filtro que o usuário vai selecionar na hora da consulta
if (empty({sc_where_atual})){
sc_select_where(add)="WHERE MONTH(DataNascimento)>=[glo_DataAniversario_Inicial_Mes]
AND MONTH(DataNascimento)<=[glo_DataAniversario_Final_Mes]
AND DAY(DataNascimento)>=[glo_DataAniversario_Inicial_Dia]
AND DAY(DataNascimento)<=[glo_DataAniversario_Final_Dia]";
} else {
sc_select_where(add)=" AND
MONTH(DataNascimento)>=[glo_DataAniversario_Inicial_Mes]
AND MONTH(DataNascimento)<=[glo_DataAniversario_Final_Mes]
AND DAY(DataNascimento)>=[glo_DataAniversario_Inicial_Dia]
AND DAY(DataNascimento)<=[glo_DataAniversario_Final_Dia]";
}
Execute e teste a mesma.