2012-01-10 5 views
0

Доброе утро,Преобразование даты Oracle для доступа к данным Формат данных

Я связываюсь с Oracle Data (table) через ODBC. У меня нет никакого контроля над тем, как эта таблица является дизайном или данные хранятся.

Однако столбец данных в наступающем как тип текстовых данных в следующем формате, например: 20120110

Я использовал следующий код для преобразования даты в доступе:

CDate(Right([Example.MY_DATE],2) & "/" & Mid([Example.MY_DATE],5,2) & "/" & Left([Example.MY_DATE],4))

Этот конвертирует дату в: 01/10/2012

Это правильный способ добиться этого?

Я получаю результаты смешивания, то есть мой результирующий набор по моему запросу не является точным, я просто хочу убедиться, что мой метод преобразования прав.

Пример:

`ВЫБОР

CDate (правый ([Example.MY_DATE], 2) & "/" & Середина ([Example.MY_DATE], 5,2) & "/" & левый ([Example.MY_DATE], 4)) КАК Format_Date

ГДЕ (((CDate (правый ([xample.MY_DATE], 2) & "/" & Середина ([xample.MY_DATE], 5,2) & "/" & Слева ([xample.MY_DATE], 4)))> # 01/09/2012 #)

ORDER BY

CDate (правый ([Example.MY_DATE], 2) & "/" & Середина ([Example.MY_DATE], 5,2) & "/" & левый ([Example.MY_DATE ], 4)) `

Спасибо всем!

ответ

0

Вы пробовали использовать функцию «Dateserial» вместо:

Date = DateSerial(Left(MyDate, 4), Mid(MyDate, 5, 2), Right(MyDate, 2)) 

Дата Serial должен преобразовать дату в формат по умолчанию для вашей среды, например, в формате английском, а не американский формат и т.д.

Таким образом, SQL может выглядеть следующим образом:

SELECT DateSerial(Left(MyDate, 4), Mid(MyDate, 5, 2), Right(MyDate, 2)) AS Format_Date 
FROM Tablename 
WHERE DateSerial(Left(MyDate, 4), Mid(MyDate, 5, 2), Right(MyDate, 2)) > #01/09/2012# 
ORDER BY DateSerial(Left(MyDate, 4), Mid(MyDate, 5, 2), Right(MyDate, 2)) 
+0

нет у меня нет, вы можете разработать дальше о том, как я связал это спасибо.! Я читаю также об этом. – Asynchronous

+0

Мой ответ содержит точный синтаксис для функции, и я попытался сопоставить его с тем, что вы написали выше, однако, если вы введете имя функции в поле поиска в Access, то это даст пример:) –

+0

Спасибо I я пытаюсь проверить это и посмотреть, как он работает иначе, чем у меня уже есть. – Asynchronous

Смежные вопросы