update test1
set start_date = sysdate
where table_id between 223 and 228;
我想以x秒为单位更新这些日期。
所以
类似的东西。我应该如何进行呢?我正在使用sql developer,并且一直在一步一步地进行更新。我不允许在数据库上进行操作或进行其他程序操作,因此必须使用更新查询来执行此操作。有什么办法吗?
答案 0 :(得分:1)
例如:
SQL> create table test1
2 (table_id number,
3 start_date date
4 );
Table created.
SQL> insert into test1 (table_id)
2 select 220 + level
3 from dual
4 connect by level <= 10;
10 rows created.
SQL> update test1 set
2 start_date = sysdate + (10 / (24 * 60 * 60)) * rownum
3 where table_id between 223 and 228;
6 rows updated.
SQL> select * From test1 order by table_id;
TABLE_ID START_DATE
---------- -------------------
221
222
223 19.08.2018 09:29:47
224 19.08.2018 09:29:57
225 19.08.2018 09:30:07
226 19.08.2018 09:30:17
227 19.08.2018 09:30:27
228 19.08.2018 09:30:37
229
230
10 rows selected.
SQL>
在此示例中,在(10 / (24 * 60 * 60)) * rownum
答案 1 :(得分:1)
此查询使用'numToDSInterval()'函数将结果集的行号转换为十秒的间隔:
update test
set start_date = sysdate +
numToDSInterval ( ((rownum-1) * 10), 'second')
where table_id between 223 and 228
;
答案 2 :(得分:0)
我将使用一些简单的数学运算来使用ID来计算每条记录的偏移,如果它是数字形式的(如您所说的那样,Oracle SQL并不熟悉),但这将是一般的想法:
UPDATE test1
SET start_date = current_timestamp + numToDSInterval( 10 * (id - 223), 'second' )
WHERE table_id >= 223 AND table_id <= 228
答案 3 :(得分:0)
另一种类似的方法
mix
.react('resources/assets/js/customer/customer-app.js', 'public/js')
.react( 'resources/assets/js/labourer/labourer-app.js','public/js')
.sass('resources/assets/sass/app.scss', 'public/css');