Eine Tabelle mit Indikatorvariablen erstellen
Finde heraus, ob Anfragen mit mittlerer und hoher Priorität in den Daten von evanston311 eher die Kontaktinformationen der Anfragenden enthalten: eine E-Mail-Adresse oder eine Telefonnummer.
- E-Mail-Adressen enthalten ein @.
- Telefonnummern haben folgendes Muster: drei Zeichen, Bindestrich, drei Zeichen, Bindestrich, vier Zeichen. Zum Beispiel: 555-555-1212.
Verwende LIKE, um diese Muster zu finden. Denke daran, dass % auf eine beliebige Anzahl von Zeichen passt (auch 0) und _ auf ein einzelnes Zeichen. Wenn du ein Muster in % einschließt (d. h. vor und nach deinem Muster), kannst du es in einem das Muster umschließenden Text finden.
Mit '%___.com%' könntest du zum Beispiel nach einem Verweis auf eine Website mit der Top-Level-Domain '.com' und mindestens drei Zeichen davor suchen.
Erstelle und speichere Indikatorvariablen für E-Mail-Adresse und Telefon in einer temporären Tabelle. LIKE liefert True oder False als Ergebnis, und das Casting eines Booleans (True oder False) als integer wandelt True in 1 und False in 0 um. So lassen sich die Werte später leichter zusammenfassen.
Diese Übung ist Teil des Kurses
Explorative Datenanalyse in SQL
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- To clear table if it already exists
DROP TABLE IF EXISTS indicators;
-- Create the indicators temp table
___ ___ ___ ___ AS
-- Select id
SELECT id,
-- Create the email indicator (find @)
CAST (description LIKE '___' AS integer) AS email,
-- Create the phone indicator
___ (___ ___ '___' AS integer) AS phone
-- What table contains the data?
FROM ___;
-- Inspect the contents of the new temp table
SELECT *
FROM indicators;