我有一个SQL查询,可获取5000万条记录。 我想为结果中的每一行分配一个常量值,每次运行查询时该值都应该不同。
所以我决定在查询中使用系统日期。
我的查询如下:
SELECT (SYSDATE,'DD-MM-YYYY - HH:MM:SS'), column1,column2,column3
FROM my_table
但是在查询执行结束时,我在sysdate列中得到了HH:MM:SS的不同值。
有没有办法使这个常数恒定?
当前我的结果如下:
SYSDATE
01-03-2019 01:20:55
01-03-2019 01:20:56
01-03-2019 01:20:57
01-03-2019 01:20:58
01-03-2019 01:20:59
答案 0 :(得分:3)
这是因为数据库中有太多记录,因此选择所有记录都需要时间。
您可以创建一个变量来保存sysdate
,然后再开始查询并将其与列一起选择:
SET @Date = (SYSDATE,'DD-MM-YYYY - HH:MM:SS');
SELECT @Date, column1,column2,column3
FROM my_table;