Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
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!