#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, если уж на то пошло)