2017-08-07 46 views
0

我有一個問題與當前的日期和時間 這個比較來自Oracle數據庫的日期從Oracle日期進行比較的是我的查詢:Select name,adress,delivery_date from business_db 的DELIVERY_DATE列顯示我在這個格式的日期:2010-07- 21 17:00:00.000分貝與當前日期

我需要只顯示優於當前日期

我用它來獲取當前日期和時間DB行:

date_default_timezone_set('Europe/Paris'); 
$date = date('d-m-Y H:i:s'); 

,並試圖比較簡單的日期「其中DELIVERY_DATE> $日期」 ,但它沒有工作

謝謝

+2

''DD-MM-YYYY HH:MI:ss''似乎是一個有效的格式,其中as('dmY H:i:s');似乎不是。所以'從business_db選擇名稱,地址,delivery_date WHERE delivery_date> = to_date('2016-07-21 17:00:00','YYYY-MM-DD HH:MI:SS')' – xQbert

+0

我不熟悉PHP,但我認爲PHP和Oracle日期之間沒有任何自動轉換,因此您需要檢查SQL通過PHP日期時看到的確切內容以及哪些因素可以影響雙方的數據,例如'nls_date_format'。 –

+0

爲什麼不在查詢中使用'current_date'並讓oracle做那件事? –

回答

0

您可以使用SYSDATE

select Select name,adress,delivery_date from business_db 
    where to_date('08.08.2017 12:30','DD.MM.YYYY HH24:MI') > sysdate; 

SYSDATE是日期格式Oracle系統日期。

用PHP可變它應該是類似的東西

PHP的部分:

$date = '08.08.2017 12:30'; 

SQL部分:

select Select name,adress,delivery_date from business_db 
    where to_date($date,'DD.MM.YYYY HH24:MI') > sysdate;