On SQL Server 2000, the following queries:
select
case when '500' = 500 then 'Equal'
else 'Not equal'
end
select
case when 500 = '500' then 'Equal'
else 'Not equal'
end
select
case when 500 <> '500' then 'Not Equal'
else 'Equal'
end
select
case when '500' <> 500 then 'Not Equal'
else 'Equal'
end
produce these results:
---------
Equal
(1 row(s) affected)
---------
Equal
(1 row(s) affected)
---------
Equal
(1 row(s) affected)
---------
Equal
(1 row(s) affected)
> Who can tell me what other SQL database engines do with
> the following?
>
> CREATE TABLE test1(a VARCHAR(100));
> INSERT INTO test1 VALUES('501');
> INSERT INTO test1 VALUES(' 502 ');
> SELECT * FROM test1 WHERE a=501;
> SELECT * FROM test1 WHERE a=502;
> SELECT * FROM test1 WHERE a<'502';
(1 row(s) affected)
(1 row(s) affected)
a
---------------
501
(1 row(s) affected)
a
---------------
502
(1 row(s) affected)
a
---------------
501
502
(2 row(s) affected)
> Or how about this:
>
> CREATE TABLE test2(b INTEGER);
> INSERT INTO test2 VALUES(503);
> INSERT INTO test2 VALUES(504);
> SELECT * FROM test2 WHERE b='503';
> SELECT * FROM test2 WHERE b>'503';
(1 row(s) affected)
(1 row(s) affected)
b
-----------
503
(1 row(s) affected)
b
-----------
504
(1 row(s) affected)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]