String operations with null values always result in null.
(none)> select 'tacos' = null;
+----------------+
| 'tacos' = null |
+----------------+
| NULL |
+----------------+
1 row in set (0.00 sec)
-Eric
On Thu, 11 Nov 2004 11:35:58 +1300, Toro Hill <mysql@stripped> wrote:
> Hi all.
> I have question about how the function quote() works with
> NULL values. Here is what the mysql manual say:
> ---
> QUOTE(str)
> Quotes a string to produce a result that can be used as a
> properly escaped data value in an SQL statement. The string
> is returned surrounded by single quotes and with each
> instance of single quote (`''), backslash (`\'), ASCII NUL,
> and Control-Z preceded by a backslash. If the argument is
> NULL, the return value is the word ``NULL'' without
> surrounding single quotes. The QUOTE() function was added in
> MySQL 4.0.3.
>
> mysql> SELECT QUOTE('Don\'t!');
> -> 'Don\'t!'
> mysql> SELECT QUOTE(NULL);
> -> NULL
> ---
> Now after reading this I thought that select quote(NULL)
> would return the string 'NULL' (without quotes) and not the
> NULL value. However, this is not true on the version of
> mysql that I'm using:
>
> mysql> select version();
> +---------------------+
> | version() |
> +---------------------+
> | 4.0.22-standard-log |
> +---------------------+
> 1 row in set (0.00 sec)
>
> mysql> select isnull(quote(NULL));
> +---------------------+
> | isnull(quote(NULL)) |
> +---------------------+
> | 1 |
> +---------------------+
> 1 row in set (0.01 sec)
>
> mysql> select isnull(quote('not null'));
> +---------------------------+
> | isnull(quote('not null')) |
> +---------------------------+
> | 0 |
> +---------------------------+
> 1 row in set (0.00 sec)
>
> So I guess I'm just confused by the documentation. It's easy
> enough to get the string 'NULL' by using select
> ifnull(quote(NULL), 'NULL') or something similiar.
>
> Based on the functionality I experienced I thought that the
> documentation should read something like:
> ---
> QUOTE(str)
> ... If the argument is NULL, the return value is NULL. ...
> ---
>
> Does this seem correct? Have I missed or overlooked something?
>
> Cheers.
> Toro
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe: http://lists.mysql.com/mysql?unsub=1
>
>
--
Eric Bergen
eric.bergen@stripped