毎度お世話になります。
今回お聞きしたいのはSQLServerのSUBSTRINGの使い方についてです。
IDと日付2つを条件にDBから値を取ってくるのですが、どのようにすればいいかわからず悩んでいます。
条件の日付は、両方 2009/09/25 という形で、DBにはDateTime型で2009/09/25 0:00:00 の形で入っています。これをSUBSTRINGで2009/09/25という形に
かえて、条件の日付〜日付の間だったら取得、みたいなことをやりたいのですが
SELECT * FROM V_I_RT WHERE PATIENT_ID = '" + sPatientId + "' 〜〜
これから先どういう風に記述すればいいのかで悩んでいます。
言いたいことがうまく伝わればいいのですが・・・・・・・・・・
どなたかご教授いただけたら助かります。
宜しくお願い致します。
DBの中身は
varchar datetime varchar varchar varchar varchar varchar
PATIENT_ID INS BUI PLAN PORT GATE_NUM SECTION COMMENT CGY
1 2009/09/25 0:00:00 骨盤 1 1 外科 コメ 100
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
という感じで続きます。
宜しくお願い致します。
VCは何処?という疑問はありますが
SELECT * FROM V_I_RT WHERE PATIENT_ID ='1'
AND INS BETWEEN '2009/09/25' AND '2009/09/30';
でいいのでは?(VCでの書き方は自前で考えてみてください)
または
CONVERT(varchar, INS , 111) BETWEEN '2009/09/25' AND '2009/09/30' とか
どうしてもSUBSTRINGにこだわるなら
SUBSTRING(CONVERT(varchar,INS , 111), 1, 10) BETWEEN '2009/09/25' AND '2009/09/30'
とか(これはあんまり意味ないかも)
下の二つのSQLは巨大なテーブルだと猛烈に遅くなるかもしれません。
とさんご回答ありがとうございます。
早速お教えいただいた方法を参考にしてやってみようかと思います^^
ありがとうございました^^
ツイート | ![]() |