I feel compelled to throw in my $0.02 here. To everyone who thinks that SQLite should allow 'foo ' == 'foo':
SQL was originally conceived as a query *language* -- a way for a human being to request a set of data from a database. It was specifically designed for ad-hoc queries. This little 'magic space trimming' feature exists to match the 'char(N)' data type. A char(10) field is always exactly 10 characters long; longer strings are truncated and shorter strings are space-padded. Most database engines are more efficient at these, because when all rows are the same width, the task of finding a particular row reduces to a simple array lookup; therefore, if performance is a critical issue (and when SQL was first formed, CPUs weren't quite as powerful as they are now.) But this presents a problem: the 'usual' definition of equality would mean that any comparisons to a char(N) field would need to be N characters long, or they would always fail. Since it's stupid to make people count spaces, somebody came up with the solution 'if they enter something shorter, pad it with spaces and then compare.' (If anyone wishes to quote the spec regarding space-extension and varchar(N) fields, first recall that the SQL specifications have been created by committees.) Since SQLite does not have any concept of a fixed-width field of character data, the whole concept of ignoring/appending trailing spaces doesn't even apply. -- -- Stevie-O Real programmers use COPY CON PROGRAM.EXE ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------