sql >> Databáze >  >> RDS >> Oracle

Jak přimět to_number ignorovat nečíselné hodnoty

Obecně v relačních databázích není definováno pořadí hodnocení, takže je možné, že select funkce jsou volány před where klauzule filtruje data. Vím, že je to případ SQL Serveru. Zde je příspěvek, který naznačuje, že totéž se může stát v Oracle.

case příkaz však kaskáduje, takže je vyhodnocován v pořadí. Z toho důvodu preferuji:

select (case when NOT regexp_like(xy,'[^[:digit:]]') then to_number(xy)
        end)
from ABC;

To vrátí NULL pro hodnoty, které nejsou čísly.



  1. Postgresql:odstranění mezer mezi určitým typem číslic

  2. Jak odstranit duplicitní záznamy?

  3. Kdy byste měli používat java uložené procedury s databází Oracle ... jaké jsou nevýhody?

  4. Přístup k databázi MySQL v Electronu