<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>dev &gt;&gt; SQL</title><link>http://blogs.wankuma.com/pinzolo/category/1943.aspx</link><description>dev &gt;&gt; SQL</description><managingEditor>THREE-ONE</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>THREE-ONE</dc:creator><title>column_name = * って書けたらいいなぁ</title><link>http://blogs.wankuma.com/pinzolo/archive/2008/09/12/156312.aspx</link><pubDate>Fri, 12 Sep 2008 10:51:00 GMT</pubDate><guid>http://blogs.wankuma.com/pinzolo/archive/2008/09/12/156312.aspx</guid><wfw:comment>http://blogs.wankuma.com/pinzolo/comments/156312.aspx</wfw:comment><comments>http://blogs.wankuma.com/pinzolo/archive/2008/09/12/156312.aspx#Feedback</comments><slash:comments>62</slash:comments><wfw:commentRss>http://blogs.wankuma.com/pinzolo/comments/commentRss/156312.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/pinzolo/services/trackbacks/156312.aspx</trackback:ping><description>完全に妄想です。&lt;br /&gt;
&lt;br /&gt;
SQL で where column_name = * って書けるといいなと、ふと思った。&lt;br /&gt;
* なので「なんでもいい」→「検索条件指定されていないのと同じ」ってなればいいなと。&lt;br /&gt;
検索画面なんかで、「入力されていれば検索条件に加えるけど、されていない場合は条件に加えない」ってのがよくあるじゃないですか。&lt;br /&gt;
そういう場合、if 文で SQL に検索条件を付加したり、case 使って null なら常に等値になるようにしたりするのがよくあるけど、めんどいし冗長になるよね。&lt;br /&gt;
column_name = * と書けると、あらかじめプレースホルダや文字列連結で書いておいて、指定されなかった場合は * をつっこめばいい。&lt;br /&gt;
ドロップダウンで選択する場合、先頭の空白要素の value を * にしておけば、余計な条件分岐を書かなくてもよくなるようにもできる。&lt;br /&gt;
いくつかの検索条件が指定される可能性があって、固定の検索条件がない場合、最初の検索条件かどうかで where と and を切り替えるのがいやで、あらかじめ where 1 = 1 って書いておいたりするけど、そういう必要もなくなる。&lt;br /&gt;
&lt;br /&gt;
ハイハイ、妄想妄想。&lt;br /&gt;
さて、がんばって if 文かかなきゃ&lt;img src ="http://blogs.wankuma.com/pinzolo/aggbug/156312.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>