Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/11/2016, 10:28
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Error Parsing DDL - MariaDB

Hola joiscafo:

Hay que revisar varios detalles:

1. No utilices los mismos nombres para parámetros y para nombres de campos, ya que esto ocasiona problemas, una sugerencia es que antepongas algun prefijo a los parámetros para diferenciarlos:

Código MySQL:
Ver original
  1. ...
  2. CREATE FUNCTION modaDia(param_fecha date, param_esta integer) RETURNS text
  3. ...

de tal suerte que cuando lo utilices sea claro que se trata de dos cosas distintas:

Código MySQL:
Ver original
  1. ...
  2.    ESTA = param_esta and
  3.    FECHA = param_fecha
  4. ...

2. NULL no es un dato como tal, sino más bien un ESTADO, por lo tanto, no puedes aplicar el operador DIFERENTE DE (<>) ni el de igualdad (=), sino que tienes que utlizar IS NOT NULL o IS NULL según lo necesites:

Código MySQL:
Ver original
  1. ...
  2. DIR_VIENTO_TXT IS NOT NULL
  3. ...

3. Trata de crear la función sin el COLLATE, para determinar si es ahí donde tienes el problema o es alguna otra parte de la consulta.

Saludos
Leo.