Conflicto de tipo de operandos: float es incompatible con date

124 views
Skip to first unread message

integral

unread,
Dec 1, 2025, 10:11:22 AMDec 1
to Comunidad de Visual Foxpro en Español
Buen Dia amigos del Foro. 

Tengo el siguiente caso, he importado una base de datos de VFP desde SQL EXPRESS 2019 y en SQL me creo las tablas sin problemas. 

Al hacer un UPDATE, me esta indicando el siguiente error...

ERROR_CUOTAS.jpg

Me parece que el error se origina al intentar grabar algunas fechas con datos vacíos. Lo que quiero es remplazar ese valor con un valor NULO, pero no se como manejar las fechas directamente en SQL.

Agradezco sus comentarios y sugerencias.

Saludos,

Integral

Oscar Bonet

unread,
Dec 1, 2025, 11:59:54 AMDec 1
to Comunidad de Visual Foxpro en Español
podrias probar con inicializar la fecha con el año 1900/01/01   y despues en el programa evaluas e contenido que si el contenido del campo el año es 1900, muestras vacío con    {/}   lo mismo evaluas el campo si es null rellenar o mostrar el campo con vacío (de fox) .

Oscar Bonet

unread,
Dec 1, 2025, 12:01:57 PMDec 1
to Comunidad de Visual Foxpro en Español
Para inicializar un campo de tipo fecha en SQL Server como vacío, debes usar el valor NULL en lugar de una cadena vacía (que no es compatible con tipos de fecha). Puedes insertarlo directamente en una sentencia INSERT usando NULL sin comillas. 
Cómo hacerlo
  1. Durante la inserción de datos:
    • Usa NULL directamente en tu sentencia INSERT


lo anterior lo tmé de ayuda de motor de busqueds de google (me mostró la ugerencia con IA de Gemini) pruebalo y nos cuentas.

Mik

unread,
Dec 1, 2025, 2:21:01 PMDec 1
to Comunidad de Visual Foxpro en Español
Me parece que hay 2 cosas que podrian estar causando el error:

1) La expresion CAST('Nro 1' as numeric(12)) devuelve 0

2) Te falta ponerle el simbolo ? a la expresion CAST('Nro 1' as numeric(12))

Saludos!

integral

unread,
Dec 15, 2025, 11:37:22 AM (7 days ago) Dec 15
to Comunidad de Visual Foxpro en Español
Que tal amigos :

Muy Buenos Días

Para el colega que me escribió

Comparto con ustedes la solución que utilice :

lfech_vcto = IIF(Empty(fech_vcto), NULL, fech_vcto)

Y así sucesivamente para todos los campos de tipo fecha... 

Hasta la próxima.

Saludos,

Integral

Alejandro Isla

unread,
Dec 16, 2025, 12:02:25 AM (7 days ago) Dec 16
to Comunidad de Visual Foxpro en Español
Hola.  Usa  la función  nativa del  VFP  EVL

lfech_vcto  =  EVL( lfech_vcto, NULL )

EVL( eExpression1, eExpression2 )

Character, Date, DateTime, Numeric, Currency, Logical, Object. EVL( ) returns eExpression1 if it does not evaluate to an empty value; otherwise, it returns eExpresssion2.


Saludos


Reply all
Reply to author
Forward
0 new messages