March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hola
Estoy intentando ejecutar este SQL mediante la conexión ODBC en Power Query:
SELECT
IIF(column1 = 'C', Left(column2,10), '') AS 'Column3'
FROM table
Pero sigue recibiendo el siguiente error:
DataSource.Error: ODBC: ERROR [42000] [Microsoft] [controlador ODBC de SQL Server] [SQL Server] línea 2: sintaxis incorrecta cerca de '='.
¿Qué debo hacer para corregir esto?
Gracias de antemano.
Vivek
Hay @cfpvin,
Basado en mi prueba, podría funcionar en mi lado por lo que la sintaxis parece correcta.
Intente cambiar el nombre de tabla como una ruta de acceso de nombre de tabla completa como database.tablename para comprobarlo o borrar los permisos para intentar volver a conectarse a ODBC.
Saludos
Equipo de apoyo a la comunidad _ Yingjie Li
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@cfpvin su sintexto sql parece ser correcto. Puede probar el código sql a continuación
https://www.eversql.com/sql-syntax-check-validator/
si tiene acceso al explorador de consultas de la base de datos, puede intentar ejecutar la consulta allí para comprobar si funciona bien al final de la base de datos o no.
escoger
IIF(tabla1.columna1 = 'C', Izquierda(tabla1.columna2, 10), '') AS 'Columna3'
De
tabla1
Hey @cfpvin
Por lo general, cuando veo este error es debido a las comillas simples para la declaración intente quitar las comillas simples en Column3.
También puede intentar agregar comillas dobles, sin embargo, si lo hace en Power Query a través del Editor avanzado, necesitará comillas dobles x2 como ""Column3"".
hola
"," al final de la instrucción podría ser la causa del error. Prueba esto
escoger
IIF(columna1 = 'C', Izquierda(columna2,10), '') AS 'Columna3'
Tabla FROM
¡gracias!
Hay @alekhved ,
Gracias por la ayuda. Quité el "," al final y todavía obtener el mismo error. El error se muestra para algo con el "=".
Vivek
Bueno, en ese caso, ¿cuál es el tipo de datos de Column1?
Prueba esto. Creo que el problema no es con "=", sino con la expresión de condición. También espero que el tipo de datos de Column2 también sea varchar, de lo contrario también podría ser un problema.
escoger
IIF(cast(column1 as varchar(10) = 'C', Left(column2,10), '') AS 'Column3'
Tabla FROM
¡gracias!
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.