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

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

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

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

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

2回答

1504閲覧

postgresqlで当日のデータだけを取得したい

ariiiiiga

総合スコア66

MySQL

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

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2019/06/10 17:00

編集2019/06/26 09:46

前提・実現したいこと

下記のテーブルの構造で当日だけのデータを出力させようと思いましたが全てのデータが出力されてしまいます。

どこが間違っているのか教えて頂けると助かります。
よろしくお願いいたします。

テーブルの構造 CREATE TABLE reserve ( reserve_id serial NOT NULL, reserve_shop_id integer(5) NOT NULL, count smallint(1) NOT NULL, time integer(3) NOT NULL, reserve_comment text NOT NULL, reserve_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, reserve_tel varchar(11) NOT NULL, reserve_push_flag smallint(1) DEFAULT '0' );

該当のソースコード

//shop_id <-数値が入っている SELECT * FROM reserve WHERE reserve_shop_id=:shop_id AND reserve_time >= current_date and reserve_time < to_char((current_date INTERVAL '1 day'), 'yyyy-mm-dd')

補足情報(FW/ツールのバージョンなど)

windows10

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

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

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

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

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

m.ts10806

2019/06/10 21:39

タグにMysqlとPostgreSQLを並べられても回答は無理です。実際に使っている方のみをタグ付けしてください。またパラメータをセットしているプログラムもご提示ください
sazi

2019/06/10 23:00 編集

内容からしてpostgresではなく、MySQLじゃないですか? postgresだとcreate table時点でエラーですし。
m.ts10806

2019/06/11 00:35

saziさん >psql (11.2) があるので余計混乱しますね。
sazi

2019/06/11 03:37 編集

@mts10806さん mysqlで行っていることのpostgresでの焼き直しという質問なら理解は出来ますけどね。
yoorwm

2019/06/28 00:37

何を使用してSQLを発行しているのか?という情報(プログラム上からなら、その辺のプログラムも添えて)を記入してください。 プレースホルダを使っているように見えますが、普通はそのまま発行してもエラーになります。
guest

回答2

0

作業環境にぶちこんでテストしてみたのですが、2つ気になる部分があります(Mysqlにてテスト)

  1. :shop_idってPHPのプレースホルダ制御だと思いますが、そこに代入されている値が'1'ではなく、"1"になっている可能性が高いですね。SQLのダブルコーテーションはカラムに対し、英大文字などを使えるようにする約物であり、文字型を指定するならシングルコーテーションにしないといけません。

  2. dateというカラムはテーブルのどこから出てきたのでしょうか?

投稿2019/06/24 02:21

編集2019/06/24 02:23
FKM

総合スコア3633

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

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

Orlofsky

2019/07/18 01:38

コーテーション → クォーテーション
guest

0

PostgreSQL

1ORDER BY score DESC

とされていますが、 reserve テーブルに score ってカラムがないのかなと思います。こちらの記述を消すといかがでしょうか?

投稿2019/06/10 22:30

hatsu

総合スコア1809

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

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

ariiiiiga

2019/06/11 04:00

変わりありませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問