質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

2回答

384閲覧

SQLで範囲指定したい

tMga2

総合スコア8

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2019/01/31 13:12

編集2019/01/31 13:14

1月31日10時から2月1日23時までを指定して
SQLを実行したいです

SQLとしては下記を動的にしたいです。

SELECT * FROM `recruit` WHERE `interview` > '2019-01-31 10:00:00' AND `interview` < '2019-02-01 23:59:59' ORDER BY `interview`;

date関数等があると思いますが、使い方がわかりませんでした。
教えていただけないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2019/01/31 13:23

質問にCREATE TABLEも提示してください。
tMga2

2019/01/31 13:27

MySQLとタグを打たせております。。
ttyp03

2019/01/31 23:34

どこを動的にしたいのですか?日時?でも範囲は決まっているのですよね?
guest

回答2

0

動的にしたい箇所が提示されていないのでいまいち不明です
質問内容には条件として「1月31日10時から2月1日23時までを指定して」とあるのに
例示されたSQLでは23時59分59秒になっており、整合性がありません

それを踏まえて
「今日の10時」以降から「明後日の0時」未満を取得条件とする
interviewカラムはDATETIME型である
これらを前提条件とした場合での回答例は

MySQL

1SELECT 2 * 3FROM 4 `recruit` 5WHERE 6 `interview` >= CONCAT(DATE_ADD(CURRENT_DATE()), ' 10:00:00') AND 7 `interview` < CONCAT(DATE_ADD(CURRENT_DATE(), INTERVAL 2 DAY), ' 00:00:00') 8ORDER BY 9 `interview` ASC;

参考までに(もっといい方法があるかもしれません)

※「明後日の0時」未満としたのは23時59分59秒から0時0分0秒までの1秒間の空白を埋める為です

投稿2019/02/01 01:39

編集2019/02/01 01:41
SakuBlade

総合スコア375

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

(PHPで動的にする場合です)
現在以下をもってくるのは以下です。
以下を編集すればできると思いますが如何でしょうか。

PHP

1$hoge = date("Y/m/d H:i:s"); 2 3$hogehoge = ""; 4$hogehoge .= "SELECT * FROM `recruit` "; 5$hogehoge .= "WHERE `interview` <= '".$hoge."' "; 6$hogehoge .= "ORDER BY `interview`";

投稿2019/01/31 13:22

happyhappy

総合スコア346

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tMga2

2019/01/31 13:24

ご回答ありがとうございます。 MySQLだけで完結する必要があるんですよね。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問