- - PR -
簡単な質問
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-05-20 16:25
お世話になります。
例えば、テーブルには、「年月」と「日」という二つのフィールドを定義しています。 この時に、20050506より大きいレコードを拾い出したい場合には、SQL文がどう書けば いいでしょうか?下記のように書けばだめです。 select * from T where 年月+日>'20050506’ 簡単な質問ですが、宜しくお願いいたします。 | ||||
|
投稿日時: 2006-05-20 17:12
Javaの話題ではないので、是非
http://www.atmarkit.co.jp/bbs/phpBB/viewforum.php?forum=26&4651 で議論してくださいな。 [ メッセージ編集済み 編集者: これ 編集日時 2006-05-20 17:13 ] | ||||
|
投稿日時: 2006-05-20 18:29
普通に書けばいいのに・・・ where (年月 = 200505 and 日 >= 6) or (年月 > 200505) | ||||
|
投稿日時: 2006-05-20 18:47
どうダメだったのでしょうか? DBMS は Oracle でしょうか? # 少なくとも、全角の「+」はないでしょう... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-05-21 16:07
ご返事有難うございます。
データベースはPostgreです。 下記のように書けばうまく行っています。 select * from T where 年月||日>'20050506’ 今後とも宜しくお願いいたします。 | ||||
|
投稿日時: 2006-05-21 17:59
「だめ」ってどう「だめ」なんでしょうか。 T の定義ってどうなってるんでしょうか。特に「年月」と「日」の データ型は? 使用しているデータベース製品は? # ふつう DATE 型だったら「年月日」あるいは「年月日時分秒」を # 持ってるものですが、CHAR 型とか? _________________ もしもし@RMAN 友の会 | ||||
|
投稿日時: 2006-05-22 00:10
データが年月単位で集計したり編集するようことが多い場合などは、意図的に分ける場合もあり得るので、今回もそういうケースだったんじゃないでしょうか。 型もデータベースによって、いろいろ表現方法が変わるので、こういう質問の場合は、これも添えた方がわかりやすいかもしれませんね。 #しかし「年月||日>'20050506’」こう書けるとは知らなかった・・・(^▽^;) #Postgreローカル? | ||||
|
投稿日時: 2006-05-22 00:35
ですね、Oracle なんかでもそう書きます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |