Podczas sprawdzania null or Empty
wartość dla kolumny, zauważyłem, że istnieją pewne obawy wsparcia w różnych bazach danych.
Każdy Database nie obsługuje TRIM
metody.
Poniżej przedstawiono macierz, aby zrozumieć obsługiwane metody przez różne bazy danych.
Funkcja TRIM w języku SQL służy do usuwania określonego prefiksu lub sufiksu z ciągu znaków. Najczęściej usuwanym wzorcem są białe przestrzenie.Funkcja ta nazywa się różnie w różnych bazach danych:
- MySQL:
TRIM(), RTRIM(), LTRIM()
- Oracle:
RTRIM(), LTRIM()
- SQL Server:
TRIM(), RTRIM(), LTRIM()
Jak sprawdzić Empty/Null/Whitespace: -
Poniżej są dwa różne sposoby w zależności od różnych Databases-
składnia tych funkcji są wykończenia:
Zastosowanie TRIM odbojnice
SELECT FirstName FROM UserDetails WHERE TRIM(LastName) IS NULL
Zastosowanie LTRIM & RTRIM do odpraw
SELECT FirstName FROM UserDetails WHERE LTRIM(RTRIM(LastName)) IS NULL
Przede oba sposoby zapewnienia sam wynik wystarczy użyć w oparciu o wsparcie dla baz danych. To po prostu zwraca FirstName
UserDetails
od stołu, jeśli ma pustą LastName
nadzieję, że to pomoże innym też :)
Używam Oracle 10g. –
Powiązane: http://stackoverflow.com/questions/4042496/how-should-i-deature-with-null-parameters-in-a-pl-sql-stored-procedure-when-i-antant-t/4042572 # 4042572 –
Czy nie jest pożądane posiadanie wielu testów? tj. większa ziarnistość = lepsza informacja zwrotna dla użytkowników o tym, jak poprawić dane. – onedaywhen