公式アカウントからの投稿が始まります

初めて投稿します。
現在IT企業でSEとして働いてるのですが、プログラミング経験が浅く非常に困っているので助けてほしいです。

データベースから特定の条件に該当するデータを抽出したいのですがやり方がいまいちわかりません。
抽出するデータは住所で、ある日にちを条件文(where句)に設定してその日にちより前の日付であるデータを抽出したいのですが、データベースに格納されているこの日付がchar型でdata型ではないので、そのまま条件文で日にちを設定してもほしいデータが抽出されなくて困っています。
つまり2018/11/28より前のデータがほしいとなって条件文に’’列名1 <= 2018/11/28’’とやってもほしいデータが抽出されないのです。
わかりにくくて申し訳ないのですが、文字型の日付を比較してほしいデータを抽出するにはどうしたらいいのでしょうか。どなたか教えて頂きたいです。

A 回答 (1件)

例のように4桁/2桁/2桁で固定(足りない桁は0を補う 2018/05/03 )になっているのなら、


単純な文字列比較でも日付比較と同じ結果になるはずです。
('2017/03/01' < '2018/11/28' です)
なにか、別のところではないですか?


例えば「 条件文に’’列名1 <= 2018/11/28’’」とありますが、
これはどこに書いたもので、最終的なSQLではどうなるのですか?
列名1 <= 2018/11/28
だと
列名1 <= 2018 ÷ 11 ÷ 28
となってしまいますが、ちゃんと文字列になるようにしてますか?


どのデータベースシステムかが書いてありませんが(カテゴリ的には、MicrosoftのSQL Serverですが)
そのデータベース用んSQLを調べたら、 Cast とか To_date とか parse とか言った「文字列からdate型に変換する」関数があるのでは?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す