2017-01-01 23 views
-1

私のSQLデータベースには、このフォームを持つ顧客の生年月日を含む列dateofbirthがあります。31/12/2016列の型はvarchar(50)です。生年月日を確認

select name,mobile from memberform where dateofbirth like '" + DateTime.Now.ToString("d/M") + "%' 

コードの作品:私は「日」と「月」はここでdatetime.now のようなものである顧客を選択する必要が

は私のコードです。しかし、今日の1-1-2017年には、誕生日が1〜10-xxxxの顧客も選択しています。なぜこれが起こりますか?

+1

_with DateTime.Now.ToString( "D/M")を試してみてくださいを+「/ % '_ – Steve

+3

この列を実際のdatetime列にできるだけ早く変更する予定です – Steve

+0

列の型が日付であるのはなぜですか? – drs

答えて

3

ワイルドカード%が偶数で、このようにそれの後に別の/を追加するようにコードをアップデートしてみてください任意の文字と一致します:

'" + DateTime.Now.ToString("d/M") + "/%' 
+0

ありがとう、それは動作しますが、なぜ列の型は日付ではありませんか? – drs

+0

datetimes DB形式で使用する形式とは異なる形式で保存されますが、この形式はDB設定で構成できます。 –

+0

日付形式はexamplですe 2016-12-31。右?このためにどのように変更されますか? – drs

関連する問題