George Ionescu wrote:

However, wanting to test how the engine compares strings and numbers:


SELECT 'match' WHERE '500' = 500;

returns 'match'; also, the following statements return the same result:

SELECT 'match' WHERE '    500    ' = 500;
SELECT 'match' WHERE '500' = 499 + 1;


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';

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';


-- D. Richard Hipp -- [EMAIL PROTECTED] -- 704.948.4565


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to