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

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

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

Re[4]: 先頭の複数の0に一致する条件式


(過去ログ 91 を表示中)

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

■54656 / inTopicNo.1)  先頭の複数の0に一致する条件式
  
□投稿者/ きゃむ (3回)-(2010/10/28(Thu) 18:00:03)

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

C# 2008 を使用しています。

BindingSource.Filter に設定する条件式で、以下の4つ全てに一致させる書き方を知りたいのですが。。

0005
005
05
5

これらがどういうものかと言うと、
「あるひとつの数字(この場合は5)の先頭に、0が何個か(無しの場合も含む)付いている」というものです。

[column名] LIKE '%5'

では、先頭に付くものが0でなくても一致してしまいます。
何か良い書き方はできないのでしょうか。。
引用返信 編集キー/
■54662 / inTopicNo.2)  Re[1]: 先頭の複数の0に一致する条件式
□投稿者/ DALMORE (3回)-(2010/10/28(Thu) 18:51:14)
処理が早いかどうかは分かりませんが、

Left( [column名] , 1 ) = '0'
だとだめですか?
要は、最初の1つ目に0さえあればよいという考え方で・・・


No54656 (きゃむ さん) に返信
> C# 2008 を使用しています。
>
> BindingSource.Filter に設定する条件式で、以下の4つ全てに一致させる書き方を知りたいのですが。。
>
> 0005
> 005
> 05
> 5
>
> これらがどういうものかと言うと、
> 「あるひとつの数字(この場合は5)の先頭に、0が何個か(無しの場合も含む)付いている」というものです。
>
> [column名] LIKE '%5'
>
> では、先頭に付くものが0でなくても一致してしまいます。
> 何か良い書き方はできないのでしょうか。。
引用返信 編集キー/
■54663 / inTopicNo.3)  Re[1]: 先頭の複数の0に一致する条件式
□投稿者/ 魔界の仮面弁士 (1898回)-(2010/10/28(Thu) 19:21:16)
2010/10/28(Thu) 19:23:29 編集(投稿者)

No54656 (きゃむ さん) に返信
> 「あるひとつの数字(この場合は5)の先頭に、0が何個か(無しの場合も含む)付いている」というものです。

スマートな方法では無いですが、数字しか無いと分かっている場合は
  CONVERT([column名], 'System.Int32') = 5
と書けますね。
引用返信 編集キー/
■54678 / inTopicNo.4)  Re[2]: 先頭の複数の0に一致する条件式
□投稿者/ すなふきぬ (63回)-(2010/10/29(Fri) 01:29:52)
No54663 (魔界の仮面弁士 さん) に返信
> 2010/10/28(Thu) 19:23:29 編集(投稿者)
>
> ■No54656 (きゃむ さん) に返信
>>「あるひとつの数字(この場合は5)の先頭に、0が何個か(無しの場合も含む)付いている」というものです。
>
> スマートな方法では無いですが、数字しか無いと分かっている場合は
>   CONVERT([column名], 'System.Int32') = 5
> と書けますね。

ある数値の前に'0'が付加されるかもしれないということは、文字列だと思うので"5.0"とかないなら魔界の仮面弁士さんの方法。文字列のパターンが特定できるなら全パターンをfilterに指定するとかですかねぇ。
データ量・用途にもよるけど、可能であればデータ取得時に別カラムに"0005"か"5"に統一したデータを持たせて、Filterにはその列を使用して抽出するとか。
引用返信 編集キー/
■54679 / inTopicNo.5)  Re[2]: 先頭の複数の0に一致する条件式
□投稿者/ DALMORE (4回)-(2010/10/29(Fri) 04:03:57)
自己レスです。
なんとまぁ、、見当違いな・・・

全く見当違いなことを記載していました。
魔界の仮面騎士さんの書き込みを見て気づきました。
申し訳ございません。

下記のことは、誤りです。
すいません。


No54662 (DALMORE さん) に返信
> 処理が早いかどうかは分かりませんが、
>
> Left( [column名] , 1 ) = '0'
> だとだめですか?
> 要は、最初の1つ目に0さえあればよいという考え方で・・・
>
>
> ■No54656 (きゃむ さん) に返信
>>C# 2008 を使用しています。
>>
>>BindingSource.Filter に設定する条件式で、以下の4つ全てに一致させる書き方を知りたいのですが。。
>>
>>0005
>>005
>>05
>>5
>>
>>これらがどういうものかと言うと、
>>「あるひとつの数字(この場合は5)の先頭に、0が何個か(無しの場合も含む)付いている」というものです。
>>
>>[column名] LIKE '%5'
>>
>>では、先頭に付くものが0でなくても一致してしまいます。
>>何か良い書き方はできないのでしょうか。。
引用返信 編集キー/
■54693 / inTopicNo.6)  Re[3]: 先頭の複数の0に一致する条件式
□投稿者/ きゃむ (4回)-(2010/10/29(Fri) 11:31:48)
皆様、ご返答頂きどうもありがとうございます。
ただいま出先のため、今夜テストしてみたいと思います!
引用返信 編集キー/
■54746 / inTopicNo.7)  Re[4]: 先頭の複数の0に一致する条件式
□投稿者/ きゃむ (5回)-(2010/11/01(Mon) 10:05:40)
諸事情でなかなかテストができず大変遅くなりました。申し訳ありません。

魔界の仮面弁士さんの方法でできました!
Filter式にまさかCONVERTのような関数が使えるとは…。大変勉強になります。
どうもありがとうございました!
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -