#sql #oracle #date
#sql #Oracle #Дата
Вопрос:
У меня есть база данных MySQL, и я хочу перенести все запросы в Oracle, и поскольку я не эксперт в Oracle SQL, я застрял здесь.
У меня есть запрос, подобный этому
ORDER BY
WEEK(`Date`) DESC, `Date` DESC";
Мой вопрос: как написать это ORDER BY
выражение в Oracle SQL?
Ответ №1:
Вы можете использовать
ORDER BY TO_NUMBER(TO_CHAR(date_col,'iw','NLS_DATE_LANGUAGE=English')) DESC, date_col DESC
-
В Oracle нет формата именования столбцов, содержащего обратные галочки, и
date
это зарезервированное ключевое слово (не разрешается использовать в качестве имени столбца) -
TO_NUMBER()
необходим, посколькуWEEK()
функция в MySQL возвращает числовое значение.