sql >> Database teknologi >  >> RDS >> Oracle

Oracle:Forskellen mellem NULL og EMPTY streng

Problemet er, at Oracle (som standard) behandler tomme strenge som NULL . Derfor:

where name = ''

er det samme som:

where name = NULL

og begge fejler altid (fordi de returnerer NULL ).

Du kan rette dette på forskellige måder. En metode er:

where (name = INPUT or name is null and INPUT is null)

Eller, hvis du ved, at der er et ugyldigt navn:

where coalesce(name, '<invalid>') = coalesce(INPUT, '<invalid>')


  1. Udførelse af indbygget forespørgsel med Hibernate 4.1

  2. MySQL starter ikke, når OSX opgraderes til Yosemite eller El Capitan

  3. MySQL:navngivne parametre med PREPARE kommando?

  4. Sådan viser du sorteringen af ​​en tabel i MySQL