Estoy totalmente de acuerdo con Delphius en el caso de que estemos hablando de una sentencia Select.
Pero mi problema, aunque se manifestara en el Select (por no utilizarlo correctamente), venía de que en otras partes de un SP, que no son Select's, tengo que utilizar el literal 'TODAY', por ejemplo :
Código SQL
[-]if (:SEL_TYPE_Q_RELEASE = 1) then begin
if ((:SEL_DATEFROM > Date 'Today') and
(not (Date 'Today' + :SEL_Q_RELEASE > :SEL_DATEFROM))) then begin
AUX_DATE = :SEL_DATEFROM;
end
else begin
AUX_DATE = Date 'Today' + :SEL_Q_RELEASE;
end
end
Aquí es obligatorio utlizar el 'Date' antes del 'Today', porque si no, como ya dije en los anteriores hilos, el compilador del Procedimiento Almacenado me lanza un error.
Tampoco hay problema de utilizar el 'Today' directamente en la parte condicional de un Select, tal y como también mostré en un ejemplo más arriba. Como el compilador sabe ya que la variable que afecta al 'Today' es del tipo fecha, pues no lanza error.
Era por ello que, por inercia, utilicé el 'Date Today' también en la parte de los campos del Select, y es ahí donde me dieron los problemas, y como bien dice Delphius, si hubiera utilizado directamente el Cast, tal y como especifican los manuales, no hubiera tenido esos quebraderos de cabeza.