2015-06-05 2 views
0

У меня есть этот запрос, но я не могу понять, почему он не будет работать. В releveant временные метки являютсяСравнение временных меток доступа

source_date_time_stamp = 6/02/2015 12:56:01 AM 
destin_date_time_stamp = 5/22/2015 12:56:01 AM 

Соответствующий SQL-запрос

SQL = "SELECT source_db.date_time_stamp as source_date_time_stamp," & _ 
     "source_db.review_matter_id as source_review_matter_id, " & _ 
     "source_db.in_sample as source_in_sample, " & _ 
     "source_db.[Short Name] as source_short_name, " & _ 
     "source_db.[Title Line 1] AS source_title_line_1, " & _ 
     "source_db.Completed AS source_completed, " & _ 
     "source_db.[DDF Rating] AS source_statement_date, " & _ 
     "source_db.[Total Assets] AS source_total_assets, " & _ 
     "source_db.[Liquid Assets] AS source_liquid_assets, " & _ 
     "source_db.Liabilities AS source_liabilities, " & _ 
     "source_db.[Net Worth] AS source_net_worth, " & _ 
     "source_db.[Gurantor Statement Date] AS source_guarantor_statment_date, " & _ 
     "source_db.[Gurantor Total Assets] AS source_guar_total_assets," & _ 
     "source_db.[Gurantor Liabilities] AS source_guar_liablities," & _ 
     "source_db.[Gurantor Net Worth] AS source_guar_net_worth, " & _ 
     "destin_db.date_time_stamp AS destin_date_time_stamp " & _ 
     "FROM (borrowers source_db " & _ 
     "LEFT JOIN borrowers destin_db " & _ 
     "ON source_db.review_matter_id = destin_db.review_matter_id " & _ 
     "AND source_db.borrower_id = destin_db.borrower_id" & _ 
     ") IN '" & sourceDB & "' " & _ 
     "WHERE source_db.date_time_stamp > destin_db.date_time_stamp" 
+0

Я предполагаю, что временные метки хранятся в виде строк, а чем в родных форматах даты и времени для доступа. Либо конвертируйте их в формат даты/времени, либо сохраните их в стандарте ISO YYYY-MM-DD HH: MI: SS. –

+0

Они хранятся как дата/время. –

+0

Объясните, как запрос не работает. Примеры данных и фактические/желаемые результаты весьма полезны. –

ответ

1

Использование DateDiff:

"WHERE DateDiff("s", source_db.date_time_stamp, destin_db.date_time_stamp) > 0" 
0

Один Хак, который я иногда использую для быстрого и грязного раствора для преобразования значений временных меток в числовые значения, используя функцию CDbl(). Он позволяет увидеть, будет ли ожидаемая логика применяться независимо от соглашения о дате.

'Your example dates in your question results in 
'source_date_time_stamp = 42,157.0388888889 
'destin_date_time_stamp = 42,146.0389004630 

где заявление будет, как показано ниже:

"WHERE cdbl(source_db.date_time_stamp) > cdbl(destin_db.date_time_stamp)" 

Помимо этого

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