SQL Pocket Guide, 2nd Edition by Jonathan Gennick The unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification This page was updated April 15, 2008. UNCONFIRMED errors and comments from readers: [4] (Example file) mysql_sample_data.sql; The following command is rejected by MySQL 5.0.41 using phpMyAdmin 2.10.2. I'm running everything under MAMP on Mac. create table dual ( dummy varchar(1) ); Error text is vague, just says syntax error. I also tried adding engine=innodb, without success. Can't see how it differs substantially from the CREATE TABLE pivot command above it. {8} Max precision/scale section; For Oracle the book gives a maximum precision of 38 and a maximum scale of 127. I believe the precision must always be greater than or equal to the scale. [52] 3rd paragraph beginning with "In DB2, use either LOCATE or POSSTR; It says: LOCATE(substring, string[, position]) POSSTR(substring, string) <- WRONG, arguments should be switched according to IBM: POSSTR -> http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0000835.htm and LOCATE -> http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0000820.htm have the arguments in different order and they work like that too, check: select LOCATE('N', 'ONNO') from sysibm.sysdummy1; and select POSSTR('ONNO', 'N') from sysibm.sysdummy1; {85} 3rd para; You wrote "... then it joins the table of months to upfall..." I think you mean "years" rather than "months". {102} Between Predicates; The example for BETWEEN is misleading. it is not <= to the higher value. Correction: BETWEEN is >= first value and < the second.