SQLの日付時刻のカラムから日付だけで検索したい

このQ&Aのポイント
  • SQLの日付時刻のカラムから日付だけで検索する方法を教えてください。
  • データベースのテーブルには日付時刻の情報が含まれており、特定の日付で検索したいです。
  • どのようにすれば、特定の日付で作成された伝票を表示することができますか?
回答を見る
  • ベストアンサー

SQLの日付時刻のカラムから日付だけで検索したい

こんにちは。 自分はデータベースの初心者です。 仕事で急きょ勉強しなければならなくなりました。 あるデータベーステーブルの中に日付時刻が混じったカラムがあります。 伝票のデータなんですが、伝票が作成された情報が chk_open_date_time というカラムで、実データは '2013-11-15 12:19:31.000'; と言った形になってます。 伝票を任意の作成日付で表示できないといけないのですが、ネットで見てもそこがよく解りません。 where の条件句で、2013年11月15日の伝票を出す、と言った事がしたいです。 どう言った形で行う事が出来ますか? 他のカラムで日付だけと言うのはありませんでした。 どなたか教えてください! よろしくお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
  • itu1989
  • ベストアンサー率44% (37/83)
回答No.1

(1)SUBSTRで必要部分を取り出して検索する SELECT * FROM テーブル名 WHERE SUBSTR(chk_open_date_time,1,10) = '2013-11-15' SUBSTR(文字列(カラム名), 開始位置, 文字数)で必要部分を取り出して検索条件つ使用する (2)LIKEで前方一致 SELECT * FROM テーブル名 WHERE chk_open_date_time LIKE '2013-11-15%' LIKEで指定日付で始まるものを条件とする

PACQUIAO
質問者

補足

itu1989 様 こんな早く返信がもらえるとは思ってませんでした! ありがとうございました ここからもう一つ質問がありますが別に質問を作ります。 もしお手すきでしたらよろしくお願い致します!

関連するQ&A

  • SQLの日付時刻のカラムから日付だけで検索したい2

    こんにちは。 自分はデータベースの初心者です。 先程質問した内容にすぐにレスを入れて頂きました。 そこからもう一つ質問があったので別にここに作ります。 あるデータベーステーブルの中に日付時刻が混じったカラムがあります。 伝票のデータなんですが、伝票が作成された情報が chk_open_date_time というカラムで、実データは '2013-11-15 12:19:31.000'; と言った形になってます。 伝票を任意の作成日付で表示できないといけないのですが、ネットで見てもそこがよく解りません。 where の条件句で、2013年11月15日の伝票を出す、と言った事がしたいです。 これにレストつけてくれた方が居て教えて貰ったのが以下の (1)SUBSTRで必要部分を取り出して検索する SELECT * FROM テーブル名 WHERE SUBSTR(chk_open_date_time,1,10) = '2013-11-15' です。 これを応用して「20131155」で検索する事は可能でしょうか? WHERE SUBSTR(chk_open_date_time,1,10) となっている部分は左から1つ目から10文字という意味だと思うのですが、 左から1つ目から4文字、左から6つ目から2文字、左から9つ目から2文字 で 20131115で検索が出来るか と言う事です。 解りにくいかと思いますがどうぞよろしくお願い致します!

  • Accessの日付時刻型から日付、時刻カラムを作る

    お世話になります。 Accessのデザインビューでクエリを作ろうとしています。 テーブルの日付時刻型のカラムから日付、時刻を分離して日付カラム、時刻カラムを得るようなクエリを作りたいのですが、どのようにすればできますか? よろしくお願いします。

  • ExcelVBAでSQLサーバの日付時刻型参照

    Excel/VBA(Excel2003)で開発しています。 SQL Server上のデータをSQLで参照する際、WHERE条件句に日付を範囲指定するのですが、 全く無視され、全日付のデータが読まれてしまいます。   ・SQL Server上のデータテーブル:MEISAI       日付項目名:伝票日付 (データ型 = 日付/時刻, サイズ = 8)   ・範囲指定もとデータ:inpDate1,inpDate2 AS String inpDate1 の内容 = "2011/06/01" (FormのDateTimePickerで指定する。) inpDate2 の内容 = "2011/06/10" (同上) の時、SQL文は下記の通りです。 SELECT * FROM MEISAI WHERE 伝票日付 >= '" & inpDate1 & _ "' AND 伝票日付 <= '" & inpDate2 & "' ; " また、inpDate1,inpDate2をいったん Date型に変換し、 Dim Dt1 AS Date DimDt2 AS Date Dt1 = CDate(inpDate1) Dt2 = Cdate(inpDate2) SELECT * FROM MEISAI WHERE 伝票日付 >= " & Dt1 & " AND 伝票日付 <= " & Dt2 & " ; " としても、結果は同じでした。 いろいろ試してみたのですが、どうしてもうまく行かず困っています。 どなたかおわかりの方おられましたら、教えて下さい。

  • 日付/時刻型フィールドで時刻データのみを扱うには?

    アクセスのテーブル管理について質問させてください。 現在アクセス上で処理しているテーブルの一つ、日付/時刻型フィールドには時刻データが入っています。 形式:定型入力 時刻(L) 13:12:00 このテーブルをCSVデータとしてエクスポートしたところ、1899/12/30という日付データが時刻データの前に追加されてしまいました。 定型入力をしていたので日付データは扱われないものだと思っていたのですが、見えない部分で日付データも扱われていたということですね。 これを日付/時刻型フィールドのまま時刻データのみを扱う様にするにはどのようにしたらよいのでしょうか? 具体的には、アクセス上で作成した時刻データを含む計測値を日付毎のCSVファイルとしてエクスポートし、後に必要になった場合指定された日付のファイルをインポートします。 よって日付データは必要ないので時刻データのみで管理をしたい、ということです。 レコード数が多いため、ファイル容量を減らすためデータはなるべく少なくしたいのが実情です。 それでも必要ない日付データを加えておいた方がよいのでしょうか? よろしくお願いいたします。

  • SQL Server 2005 日付期間について(SQL文)

    恐れ入ります。 現在、SQL Serever 2005を利用し、VS 2005にて某システムを作成しています。 その中で、ある条件のデータをテーブルから削除する機能を作らなければならないのですが、以下がやりたい旨です。 [テーブル] SYSTEMTBL [定  義] systemYMD (varchar(8) ): 登録日付(例.20080725) systemHMS (varchar(6) ): 登録時間(例.103050) AAAAA (varchar(10)): カラム1 BBBBB (varchar(10)): カラム2 とあり、 SQL文を次のようにしたいです。 DELETE FROM SYSTEMTBL WHERE 登録日付 < 本日日付 - 日数 条件部分をどのようにすれば、 正しい日付の計算をしてくれるのでしょうか? 宜しくお願い申し上げます。

  • SQLで特定のテキストの文字を読み込みたい

    こんにちは。 SQL初心者です。 皆様に本日たくさん助けて頂いてます。 本当に感謝です。今一度お助けお願いします! あるテーブルをエクスポートしたいのですが データを日付で区切りたいと思っています。 エクスポートするマシーンにいつも特定のテキストがあります。 それをDATE.txtとするとその中には20131115などと書かれています。 これはもちろん日付です。 where 以下の条件にこの日付を用いたいのですが それにはどのように設定すればいいのでしょうか? where open_chk_date = <DATE.txtの中の日付> こんな感じです。 どうぞよろしくお願いします!

  • 日付をカラム格納せずテーブルとして作成しても良い?

    SQLite3なんですが、日付データをカラムへ格納せず、日付毎にテーブル作成してデータを格納しているコードがあるのですが、これは一般的なやり方なのでしょうか? ・一般的なやり方 ・一般的なやり方ではない ・一般的なやり方ではないが、アプリ内容(仕様)によっては普通に起こりうる ■質問背景 ・日付はカラムへ格納するものとばかり思っていました ・ちょっとびっくりしたので、質問してみました

  • Access VBA SQL文で教えてください

    strSQL = "SELECT 日付,ブロック_cd,時刻 FROM テーブルA" strSQL = strSQL & " WHERE 日付 = " & Me.売上日 & "" strSQL = strSQL & " AND ブロック_cd = & Me.cmb_ブロック & " strSQL = strSQL & " AND 時刻 = & Me.時刻 & " WHERE句以下を削除するとレコードを読み込んできます。 よって、WHERE句がおかしいようです。 テーブルA: 日付:日付/時刻型(yyyy/mm/dd) ブロック_cd:数値型 時刻:日付/時刻型(hh:nn) me.売上日:日付形式(yyyy/mm/dd) me.cmb_ブロック:コンボボックスの値(数値) me.時刻:時刻形式(hh:nn) おそらく、me.のくくり方がおかしいとは思うのですが どのように修正すればよろしいでしょうか? よろしくお願いします。

  • コラムの値からコラム・テーブルを検索

    プライマリキーが様々なテーブルで別の名前で利用されていると、テーブル同士の関連の全てが把握できずに困っています。以前にコラム名からテーブルを検索する方法を質問したのですが、私が扱っているデータベースでは、プライマリキーがシステムの別の場所で少しだけ異なる名前で利用されていることが多いので、その方法では把握できない関連が出てきます。 具体的には、EMPLOYEES__KEYというEMPLOYEESテーブルのプライマリキーがPERSONALIZE_EMPOYEESというテーブルでPSNLZ_EMP__KEYという名前で使われている状況を考えていただきたいと思います。PSNLZ_EMP__KEYのコラムのレコードは全てEMPLOYEES__KEY内のデータからとられているとします。 以前にselect TABLE_NAME from USER_TAB_COLUMNS where COLUMN_NAME = 'EMPLOYEES__KEY' というSQLで特定のコラムを使っているテーブルを全てリストアップできると教えていただいたのですが、今回のケースでは、同じような内容のコラムなのですが名前が異なるため上記のSQLでは検索できないテーブルがある場合、それをどうやってとってきたらよいのかということです。 コラムの値にtaro, jiro, hanakoなどのようにテーブルまたはシステム内でユニークな値が指定されている場合、コラムの値を指定し、「その値が使われているコラム・テーブルを列挙せよ」というような命令を与えればよいのだということまでは分かりますが、どのようにSQLを書けば良いか教えてください。

  • 日付/時刻型のフィールドに対してWhere条件を付ける方法

    VBAで開発しています。 Where句で、日付/時刻型のA_dateに対して WHERE A_date > 2008/05/01 といったような条件を付けたいのですが、 どうしてもうまくいきません。 WHERE A_date > Format(2008/05/01, "YYYY/MM/DD") のようにフォーマットしてみてもだめでした。 WHERE A_date > date() のような記述はちゃんと通るんですが、固有の日付とのSQLがうまくいきません。 日付/時刻型の条件付けは何か特別な記述が必要なのでしょうか? どなたかご回答よろしくお願い致します。