C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: SQL文についてです。


(過去ログ 57 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■32242 / inTopicNo.1)  SQL文についてです。
  
□投稿者/ S (1回)-(2009/02/03(Tue) 20:55:47)

分類:[データベース全般] 

WEHRE句でLIKEを使い、二つのカラムを空白で結合したものを
条件にできませんか?
質問がむずかしいです。

aのカラムにに苗字、bのカラムに名前だとして
今は

WHERE (a AND ' ' AND b) LIKE '%田中 太郎%'

みたいにやってますがもちろんできません。
そもそも無理なのでしょうか。。

引用返信 編集キー/
■32256 / inTopicNo.2)  Re[1]: SQL文についてです。
□投稿者/ ねこ中尉 (4回)-(2009/02/03(Tue) 23:59:31)
No32242 (S さん) に返信
こんばんは

以下では如何でしょうか。

SELECT qry.* FROM
(
SELECT CONCAT(CONCAT(a," "),b) AS name,*
FROM テーブル名
) qry
WHERE name LIKE "%田中 太郎%"


引用返信 編集キー/
■32259 / inTopicNo.3)  Re[1]: SQL文についてです。
□投稿者/ たくボン (141回)-(2009/02/04(Wed) 00:35:00)
No32242 (S さん) に返信
> WEHRE句でLIKEを使い、二つのカラムを空白で結合したものを
> WHERE (a AND ' ' AND b) LIKE '%田中 太郎%'

そもそも空白を付加する必要あるのかな?
左辺、右辺で共通の部分がある場合はどうにかできないかな?

DB側で空白を付加するよりは、条件の「田中 太郎」から空白を削除してlikeした方が処理的には早いはず。
likeはDBにとってもコストの高い処理になるから、DBにとって優しく語りかけてあげるのが良いかも:-)
引用返信 編集キー/
■32263 / inTopicNo.4)  Re[2]: SQL文についてです。
□投稿者/ みきぬ (366回)-(2009/02/04(Wed) 09:27:08)
比較したい文字列を空白でぶった切って、

WHERE (a LIKE '%田中') AND (b LIKE '太郎%')

でええのではないかなと…。
aに名字、bに名前が入っているという前提ですが。
引用返信 編集キー/
■32265 / inTopicNo.5)  Re[1]: SQL文についてです。
□投稿者/ はつね (934回)-(2009/02/04(Wed) 09:53:27)
はつね さんの Web サイト
2009/02/04(Wed) 09:53:46 編集(投稿者)

No32242 (S さん) に返信
> WHERE (a AND ' ' AND b) LIKE '%田中 太郎%'

項目値の文字列連結は「AND」ではありません。
例えばOracleであれば

WHERE a||' '||b LIKE '%田中 太郎%'

となります。
でもこれよりも、みきぬさんが書かれているように各々でLIKEの方がいいと思います。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -