- - PR -
SQLのWhere句で
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2009-01-16 17:40
はじめまして。よろしくお願い致します。
JAVAのプログラム上で "select * from mst_category where (category_name=?) or ('category_' || category_id || '(' || category_name || ')'=?);"; という表記を見つけたのですが、Where句内のOR句の後の意味が分かりません。 どういう意味なのでしょうか? テーブルにはcategory_idとcategory_nameの二つのフィールドを持ちます。 ?の記号の意味については理解しております。わからないのはシングルクォートの意味や、フィールド名が途中までになってたりすることです。 DBはpostgresです。 ご教示よろしくお願い致します。 | ||||
|
投稿日時: 2009-01-16 17:54
最初の「'category_'」という部分は文字列です。 「?」に "category_01(AAA)" という文字列が入るとすると mst_category テーブルにある category_id が "01" category_name が "AAA" のレコードが取得できることになる、 という SQL ではないでしょうか。 | ||||
|
投稿日時: 2009-01-16 18:37
あ!なるほど。"||"は文字列の連結なんですね。
知りませんでした。"又は"の意味で解釈しておりました。orz ありがとうございました! |
1