es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo reemplazo NULL en datediff con un texto?

Tengo 2 columnas de fechas diferentes y estoy utilizando datediff para calcular los años de trabajo. Pero hay valores nulos cuando las personas todavía están trabajando y me pregunto cómo puedo reemplazarlos por el texto ‘Still Working’.

Así que esta es la tabla que tengo.

ID DateofHire DateofTermination
1 2011-07-05 NULL
2 2015-03-30 2016-06-16
3 2011-07-05 2012-09-24
4 2008-01-07 NULL

He utilizado la fórmula datediff y se muestra así :

DATEDIFF(year,DateofHire,DateofTermination) as ‘Years of working’

ID Years_of_Working
1 NULL
2 1
3 1
4 NULL

¿Cómo puedo reemplazar los valores nulos después de escribir una consulta datediff con ‘Still Working’?

La tabla deseada sería así:

ID Years_of_Working
1 Still Working
2 1
3 1
4 Still Working

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para reemplazar los valores NULL en la columna “Years of working” con el texto “Still Working”, puedes utilizar la función SQL “ISNULL()” para verificar los valores NULL y reemplazarlos con el texto deseado:

    SELECT 
        ID, 
        ISNULL(
            CAST(DATEDIFF(year, DateofHire, DateofTermination) AS varchar), 
            'Still working'
        ) as 'Years of working'
    FROM 
        table_name;
    

    Esta consulta verifica si la columna “Years of working” es NULL utilizando la función “ISNULL()”. Si es NULL, se reemplazará con el texto “Still working”. También utilizamos la función “CAST()” para convertir el resultado de la función “DATEDIFF()” en formato de cadena para poder reemplazar los valores NULL con el texto deseado.

    La tabla resultante tendrá la columna “Years of working” con el texto “Still working” para todas las filas donde la columna “DateofTermination” sea NULL.

Comments are closed.