日付を保持して時刻を変更することで、予定日の時刻を更新するクエリが必要です。 例:oracle sqlで時刻を更新するにはどうすればよいですか?
10-2月09 09:00:00 と私は2016年2月10日10:00:00に変更したいと思います。
Update Appointment
set vdate = '10:00:00'
where vdate= '10-Feb-2016'
私は私が何かが欠けていた場合に確認してください。「0行が「を更新しました未取得。事前に 感謝。
日付を保持して時刻を変更することで、予定日の時刻を更新するクエリが必要です。 例:oracle sqlで時刻を更新するにはどうすればよいですか?
10-2月09 09:00:00 と私は2016年2月10日10:00:00に変更したいと思います。
Update Appointment
set vdate = '10:00:00'
where vdate= '10-Feb-2016'
私は私が何かが欠けていた場合に確認してください。「0行が「を更新しました未取得。事前に 感謝。
は次のように試してみてください。
UPDATE MyTable
SET MyDate = DATEADD(HOUR, 4, CAST(CAST(MyDate AS DATE) AS DATETIME))
または
UPDATE MyTable
SET MyDate = DATEADD(HOUR, 4, CAST(FLOOR(CAST(MyDate AS FLOAT)) AS DATETIME))
Oracleには' datetime'というデータ型はありません。あるいは、関数 'dateadd' –
trunc()
を使用すると、の時刻部分を設定できます00:00:00
から(またはTIMESTAMP
)、それまで10時間を追加します。
Update Appointment
set vdate = trunc(vdate) + interval '10' hour
where trunc(vdate) = DATE '2016-02-10'
これは、日付2016-02-10
を持つすべての行を変更します。あなたが唯一の09:00あるもののために(分と秒を無視して)ことを行いたい場合は、単にそれらの行に
Update Appointment
set vdate = trunc(vdate) + interval '1' hour
where trunc(vdate, 'hh24') = timestamp '2016-02-10 09:00:00'
trunc(vdate, 'hh24')
を1時間を追加00:00
にdate
値の分、秒を設定します、2016-02-10 09:00:00
との比較が正しく機能します。
関連のない、しかし:はは、暗黙的なデータ型変換に依存しないでください。 '10-Feb-2016'
は文字列値であり、DATEリテラルではありません。日付を指定するには、上記のようにANSI DATEリテラルを使用するか、to_date()
関数とを使用して文字列リテラルを適切な日付値に変換します。
あなたの文は邪悪な暗黙的なデータ型変換の対象となるとの文を実行しているSQLクライアントが異なるNLSの設定を使用している場合は失敗します(それは例えば私のコンピュータ上で失敗します)
あなたが何をしたい場合には、そして、あなたが行うことができ、これまでの時間を追加されます。
Update Appointment
set vdate = vdate + 1/24
where vdate = to_date('10/02/2016 09:00', 'dd/mm/yyyy hh24:mi');
オラクルであるため、日付の違いは、日数で測定され、時間はその日の1/24であるされています。
あなたは正確な時刻を指定されて何をしたいのか(例えば10時25分48秒まで)、その後、あなたの代わりに次の操作を行うことができれば:これらの更新プログラムは、すべての行を更新することを念頭に置いて
Update Appointment
set vdate = trunc(vdate) + 10/24 + 25/(24*60) + 48/(24*60*60)
where vdate = to_date('10/02/2016 09:00', 'dd/mm/yyyy hh24:mi');
ベアを2016年2月10日の午前9時の日付です。より具体的な行または行のセットを指定する場合は、クエリのwhere句を変更する必要があります。
「vdate」の種類は何ですか? – Bharat
タイプは日付です。 – Auxion
'Date'のみそこで時間を更新できない場合は、' datetime'を使用する必要があります – Bharat