Я нахожусь в процессе миграции нашего хранилища данных из Oracle в SQL Server 2012.Oracle в SQL Server: Дата преобразования и формат
Один кусок кода я использую сто раз в день в Oracle меняется формат даты для запроса, используя что-то вроде:
To_Char(entry_date,'WMMYY') = 30612
выше позволяет мне захватить даты (формат по умолчанию = DD-MON-YY
например 01-JAN-12
) и изменить формат в течение недели, указанной (на третьей неделе июня в вышеуказанном пример), просто указав желаемую неделю.
На мой взгляд, это очень простой и простой в использовании. Я могу изменить его в любом формате, который я хочу (MMYY, MMYYYY) и т. Д. Без каких-либо проблем. Пока я не могу найти простой способ сделать это в SQL Server 2012, и это действительно начинает беспокоить меня. Это datetime2
в SQL Server.
Я нахожу материал для CAST(), CONVERT(), DATEPART()
, но из того, что я видел, требуется всевозможные дурацкие кодировки и коды номеров (например, 101, 102, я не понимаю, почему это), которые просто кажутся посторонними и более сложный для меня.
Я только что не нашел то, что я ищу, или это так, как в SQL Server? Я просто хочу сделать что-то простое, например, захватить все данные, которые были введены в течение месяца июня или второй недели октября, без необходимости добавлять 200 дополнительных символов кода.
Переход от Oracle в SQL Server является огромным шагом назад когда дело доходит до обработки даты (и многих других вещей). Насколько я могу судить, вам нужно будет написать свою собственную функцию для этого –