Как вернуть постоянное значение в SQL

#mysql #sql #database

#mysql #sql #База данных

Вопрос:

У меня есть SQL-запрос, который извлекает 50 миллионов записей. Я хочу присвоить постоянное значение каждой строке в результатах, которые должны отличаться при каждом запуске запроса.

Поэтому я решил использовать системную дату в запросе.

Мой запрос выглядит следующим образом :

 SELECT (SYSDATE,'DD-MM-YYYY - HH:MM:SS'), column1,column2,column3
FROM my_table
  

Но к моменту завершения выполнения запроса я получаю разные значения HH: MM: SS в столбце sysdate.

Есть ли способ, которым я могу сделать это постоянным?

В настоящее время мои результаты выглядят следующим образом:

 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
  

Комментарии:

1. Что произойдет, если вы перекрестно присоединитесь к таблице с одной строкой, возвращающей SYSDATE?

Ответ №1:

Это связано с тем, что записей так много, что базе данных требуется время, чтобы выбрать их все. Вы можете создать переменную для хранения sysdate перед запуском запроса и выбрать ее вместе со своими столбцами:

 SET @Date = (SYSDATE,'DD-MM-YYYY - HH:MM:SS');

SELECT @Date, column1,column2,column3
FROM my_table;
  

Комментарии:

1. Что было бы эквивалентом Oracle для этого?

2. @jaideepsingh Я понятия не имею. В основном я работаю с SQL Server, прошла целая вечность с тех пор, как я что-либо делал в Oracle (или MySQL, если уж на то пошло)