2016-08-24 6 views
0

私は地元のphpmyadminで多くの作業をしていますが、今まで経験したことのないOracleデータベースのデータで多くのコード機能をチェックすることになっています。だから私は今日の列だけをどうやって得ることができるか知りたい。あなたが1つか2つ考えることができるなら、他の方法でそれを比較してください。ここでは私がこれまでに試したことは、私がSOの質問を読んだところによるが、あまり役に立たないようだ。oracleデータベースの今日の行を取得

 $sql1 = "SELECT a.*, ROWNUM rnum FROM (
      SELECT alert_time AS qen, count(*) AS Total FROM alert 
      GROUP BY alert_time 
    ) a WHERE TRUNC(sysdate) = TRUNC(TO_TIMESTAMP(alert_time)))"; 

alert_time列には、私がここでやりたいだけのものが追加されているテーブルalertsからすべての行をフェッチすることで、「8月24日水曜日午前12時11分05秒2016」のようなもの

を返します。今日だけ私は私が欲しいものを私に与えることはもちろん、クエリがより速く実行されるように。

ありがとうございました!文字として格納されているTO_TIMESTAMP()alert_time場合にのみ必要

SELECT a.* 
FROM alert 
WHERE alert_time >= TRUNC(sysdate) AND alert_time < TRUNC(sysdate + 1); 

:未来の警告がある場合

SELECT a.* 
FROM alert 
WHERE alert_time >= TRUNC(sysdate); 

+0

Oracleに明示的に言及しているため、MySQLタグを削除しました。 –

+0

あなたのalert_timeカラムのデータ型は何ですか? – XING

+0

私は現在、それを知るためのアクセス権を持っていませんが、おそらく 'Date'である可能性があります。私はその行から '22-AUG-16 04.17.29.000000 AM'の権利を告げることができますか?または、データ型を印刷する方法があれば教えてください。 – King

答えて

0

私はこのような何かを期待します。エニュメレーション列を出力に追加する場合は、rownumが必要です。

+0

私は 'SELECT * FROM alert WHERE TO_TIMESTAMP(alert_time)> = TRUNC(sysdate)とTO_TIMESTAMP(alert_time) King

+0

@キングで数値が予想された。 。 。答えで言及したように、なぜあなたがこの目的のために 'TO_TIMESTAMP()'を使用するのかは不明です。 'alert_time'が(何らかの不合理な理由で)文字列として格納されている場合、' TO_TIMESTAMP() 'は2番目の引数としてフォーマット文字列を持つべきです。 –

関連する問題