我有一个可提取 5000 万条记录的 SQL 查询。 我想为结果中的每一行分配一个常量值,每次运行查询时该值都应该不同。
所以我决定在查询中使用系统日期。
我的查询看起来像:
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
最佳答案
这是因为记录太多,数据库需要时间来选择所有记录。
您可以在开始查询之前创建一个变量来保存 sysdate
并将其与您的列一起选择:
SET @Date = (SYSDATE,'DD-MM-YYYY - HH:MM:SS');
SELECT @Date, column1,column2,column3
FROM my_table;
关于mysql - 如何在 SQL 中取回常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55393387/