ComenzarEmpieza gratis

Clasificar multas de estacionamiento por momento del día

Han surgido dudas sobre si las multas de estacionamiento se emiten de forma uniforme a lo largo del día. Te han pedido que asocies cada multa con el momento del día en que se emitió. Decides que lo más sencillo es crear una nueva columna llamada morning. Este campo se rellenará con el (entero) 1 si la multa se emitió por la mañana (entre las 12:00 AM y las 11:59 AM) y con el (entero) 0 en caso contrario. La hora de emisión está registrada en la columna violation_time de la tabla parking_violation. Esta columna consta de 4 dígitos seguidos de una A (de AM) o una P (de PM).

En este ejercicio, rellenarás la columna morning haciendo coincidir patrones para los violation_time que ocurren por la mañana.

Este ejercicio forma parte del curso

Limpieza de datos en bases de datos PostgreSQL

Ver curso

Instrucciones del ejercicio

  • Usa el patrón de expresión regular '\d\d\d\dA' en la subconsulta para hacer coincidir valores de violation_time que consisten en 4 dígitos consecutivos (\d) seguidos de una A mayúscula.
  • Edita la cláusula CASE para rellenar la columna morning con 1 (entero sin comillas) cuando la expresión regular coincida.
  • Edita la cláusula CASE para rellenar la columna morning con 0 (entero sin comillas) cuando la expresión regular no coincida.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

SELECT 
	summons_number, 
    CASE WHEN 
    	summons_number IN (
          SELECT 
  			summons_number 
  		  FROM 
  			parking_violation 
  		  WHERE 
            -- Match violation_time for morning values
  			___ SIMILAR TO ___
    	)
        -- Value when pattern matched
        THEN ___ 
        -- Value when pattern not matched
        ELSE ___ 
    END AS morning 
FROM 
	parking_violation;
Editar y ejecutar código