- - PR -
CHARとDATETIMEの比較
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-12-27 17:41
-- A_DATETIME(DATETIME型) -- B_DATE(DATETIME型) -- C_TIME(CHAR型)--
------------------------------------------------------------------- -- 2008/12/27 17:13 55 -- 2008/12/27 00:00 00 -- 17:13 55 -- ------------------------------------------------------------------- 上記のようなDBがあるのですが、 A_DATETIME(DATETIME型)とB_DATE(DATETIME型)+C_TIME(CHAR型)の条件と合致 するようなデータを抽出したいです。 A_DATETIME(DATETIME型)の 2008/12/27 17:13 55 と B_DATE(DATETIME型)+C_TIME(CHAR型)を結合した 2008/12/27 + 17:13 55 が合致した場合です。どうしたら良いでしょうか?DBはSQLSERVERです。 イメージとしては以下になります。 SELECT * FROM DB WHERE A_DATETIME =(B_DATE + C_TIME) 自分としては CONVERT(VARCHAR(10),B_DATE,111)+C_TIME で文字列に 変換し、文字列同士で比較しようと考えましたが、 何か他に良い方法はありますでしょうか? | ||||
|
投稿日時: 2008-12-28 10:57
少し不明な点があるので教えてください。
| ||||
|
投稿日時: 2008-12-28 15:00
Kingさん
ご返答ありがとうございます。 <A_DATETIME を比較時に文字列に変換するようですが、どのように変換しようと考えて<いますか? まだ、試していないのですが、CONVERTを駆使して出来るのでは ないのかなと考えています。 <B_DATE の時刻部分は必ず 00:00:00 なので B_DATE は年月日のみが有効で時刻は一切<関係ないということで良いでしょうか? はい。その通りです。 <C_TIME は「17:13 55」という形式で「17:13:55」という形式ではないという事で良い<でしょうか? すいません。こちらは、「17:13:55」という形式でした。 | ||||
|
投稿日時: 2008-12-28 16:29
そうであれば仰っている方法で私は良いと思いますよ。
って方法もあるし速度と可読性、優先される面から色々と試されるのも良いと思います。 | ||||
|
投稿日時: 2008-12-29 20:58
Kingさん
本当にありがとうございました。 できました。 |
1