A ZERO length varchar is treated as NULL
so your second query should be select count(*) from cli_clients where trim(client_company) is null and cli_id in (257, 396, 727);
At 12:09 PM 3/6/2003 -0800, you wrote:
Hi, I got a SQL question (9i on Red Hat), commands shown below. The first sql returns 3 rows with value 1, so trim(client_company) = '', how come the 2nd sql doesn't return anything??
SQL> select decode(trim(client_company), '', 1, ' ', 2, null, 3, 4) from cli_clients where cli_id in (257, 396, 727);
DECODE(TRIM(CLIENT_COMPANY),'',1,'',2,NULL,3,4) ----------------------------------------------- 1 1 1
3 rows selected.
SQL> select count(*) from cli_clients where trim(client_company) = '' and cli_id in (257, 396, 727);
COUNT(*) --------- 0
1 row selected.
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Wolfgang Breitling INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).