Re: Nulls get converted to 0 problem

Поиск
Список
Период
Сортировка
От kdebisschop@alert.infoplease.com
Тема Re: Nulls get converted to 0 problem
Дата
Msg-id 1054899579.1182.30.camel@miles.debisschop.net
обсуждение исходный текст
Ответ на Re: Nulls get converted to 0 problem  (Jon Earle <je_pgsql@kronos.honk.org>)
Ответы Re: Nulls get converted to 0 problem  (Jon Earle <je_pgsql@kronos.honk.org>)
Re: Nulls get converted to 0 problem  (Jonathan Bartlett <johnnyb@eskimo.com>)
Re: Nulls get converted to 0 problem  (Samuel Tardieu <sam@rfc1149.net>)
Список pgsql-general
On Thu, 2003-06-05 at 09:39, Jon Earle wrote:
> On Wed, 4 Jun 2003 terry@ashtonwoodshomes.com wrote:
>
> > Oracle *incorrectly* interprets blank (empty) strings as NULL.  They are NOT
> > the same.  A string of zero characters is a string nonetheless.  A NULL is
> > "the absence of value", which equals nothing (theoretically not even another
> > NULL).
>
> If you're testing a value, you're testing to see if there's something in
> there or not - what difference does it make if the variable contains 0, ""
> or NULL?
>
> Why not adhere to the practices inherent (and thus anticipated by
> developers) in other languages (C comes to mind) where 0, NULL and "" are
> equivalent?

Perhaps because the SQL Spec says they are different?

For that matter, a zero length string in C is not the same as NULL.
Believing otherwise may be convenient, but leads to segfaults

i.e., this code will cause a segfault

main(...) {
  char *str;

  if (str == NULL)
    printf ("This test is safe\n");

  if (str == "")
    printf ("This comparison above can segfault on some systems\n");

  printf ("printing a NULL string like %s can also segfault\n", str);

}

I believe in C the following is true as well:

main() {
  char *str="";

  if (str)
    printf ("An empty string evaluates as true");

}

--
Karl DeBisschop <kdebisschop@alert.infoplease.com>


В списке pgsql-general по дате отправления:

Предыдущее
От: Bruno Wolff III
Дата:
Сообщение: Re: EXTERN JOIN with WHEN query
Следующее
От: Jon Earle
Дата:
Сообщение: Re: Nulls get converted to 0 problem