【MySQL】文字列の連結(文字列の定義)
このSQL,エラーにはなりません。
SELECT 'foo' 'bar';
少なくとも1つの改行を含んだ空白で区切られている場合は、2つの定数は連結されます。
これと一緒です。
SELECT 'foobar';
SQLの標準規格で決められています。
もしこのような記述をしてエラーが発生しなくても、不思議ではない。むしろ標準だということでした。
SELECT * from A where id in ( '123456' '123456' '123456' );/* カンマがない */
insert into A (x) values ( '123456' '123456' '123456' );/* カンマがない */
SQL-92の資料にもそれらしき内容がありました。
(前略) <character string literal> ::= [ <introducer><character set specification> ] <quote> [ <character representation>... ] <quote> [ { <separator>... <quote> [ <character representation>... ] <quote> }... ] (中略) <separator> ::= { <comment> | <space> | <newline> }... (後略)
文字列とは、セパレータで区切られていてよい。セパレータには、コメントとスペースと改行を含められる。(と読んでいいのかな)
コメント