none
Error en la lista de argumentos de función: no se reconoce '>'., en VISTAS SQL RRS feed

  • Pregunta

  • Al tratar de correr la siguiente vista de sql (para poder guardarla)

    SELECT        *, IIF(HS > -24 AND HS < -0,'ROJO',IIF(HS>=0 AND HS<=10,'AMARILLO',IIF(HS>10 AND HS<1000000,'VERDE','GRIS'))) AS IDIMG
    FROM            vwOrdenesSem0

    Me marca error :

    Error en la lista de argumentos de función: no se reconoce '>'


    Luis C


    sábado, 14 de diciembre de 2019 2:31

Respuestas

  • Hola Luis Carlos H:

    CREATE TABLE vwOrdenesSem0 (ID INT IDENTITY, HS INT)
    GO
    INSERT INTO vwOrdenesSem0 (HS)
    VALUES
    (15),
    (-24),
    (17);
    
    SELECT        *, IIF(HS > -24 AND HS < -0,'ROJO',IIF(HS>=0 AND HS<=10,'AMARILLO',IIF(HS>10 AND HS<1000000,'VERDE','GRIS'))) AS IDIMG
    FROM            vwOrdenesSem0

    La sintaxis es válida, por tanto el error puede estar en la parte que no muestras.

    Dices:

    Al tratar de correr la siguiente vista de sql (para poder guardarla)
    create view mivista as
    
    SELECT        *, IIF(HS > -24 AND HS < -0,'ROJO',IIF(HS>=0 AND HS<=10,'AMARILLO',IIF(HS>10 AND HS<1000000,'VERDE','GRIS'))) AS IDIMG
    FROM            vwOrdenesSem0
    go

    También es funcional.

    IIF se introdujo en SQL Server en 2012. ¿Es posíble, que el nivel de compatibilidad de tu base de datos sea inferior a 110?

    select compatibility_level from sys.databases
    where name = db_name();

    Compatibility level

    https://docs.microsoft.com/es-es/sql/relational-databases/databases/view-or-change-the-compatibility-level-of-a-database?view=sql-server-ver15

    Sino tendrás que mejorar el escenario

    • Marcado como respuesta Luis Carlos H sábado, 14 de diciembre de 2019 22:04
    sábado, 14 de diciembre de 2019 8:14

Todas las respuestas

  • Hola Luis Carlos H:

    CREATE TABLE vwOrdenesSem0 (ID INT IDENTITY, HS INT)
    GO
    INSERT INTO vwOrdenesSem0 (HS)
    VALUES
    (15),
    (-24),
    (17);
    
    SELECT        *, IIF(HS > -24 AND HS < -0,'ROJO',IIF(HS>=0 AND HS<=10,'AMARILLO',IIF(HS>10 AND HS<1000000,'VERDE','GRIS'))) AS IDIMG
    FROM            vwOrdenesSem0

    La sintaxis es válida, por tanto el error puede estar en la parte que no muestras.

    Dices:

    Al tratar de correr la siguiente vista de sql (para poder guardarla)
    create view mivista as
    
    SELECT        *, IIF(HS > -24 AND HS < -0,'ROJO',IIF(HS>=0 AND HS<=10,'AMARILLO',IIF(HS>10 AND HS<1000000,'VERDE','GRIS'))) AS IDIMG
    FROM            vwOrdenesSem0
    go

    También es funcional.

    IIF se introdujo en SQL Server en 2012. ¿Es posíble, que el nivel de compatibilidad de tu base de datos sea inferior a 110?

    select compatibility_level from sys.databases
    where name = db_name();

    Compatibility level

    https://docs.microsoft.com/es-es/sql/relational-databases/databases/view-or-change-the-compatibility-level-of-a-database?view=sql-server-ver15

    Sino tendrás que mejorar el escenario

    • Marcado como respuesta Luis Carlos H sábado, 14 de diciembre de 2019 22:04
    sábado, 14 de diciembre de 2019 8:14
  • Gracias!

    Luis C

    sábado, 14 de diciembre de 2019 22:05