Парадокс: запрос столбца даты + столбца времени в качестве даты и времени - PullRequest
1 голос
/ 25 июня 2009

Во-первых, я новичок в Paradox.
Во-вторых, я запрашиваю базу данных стороннего программного пакета и не могу изменить схему.

У меня есть два поля, просто названные «Дата» и «Время», которые я хотел бы запросить как DateTime (из моего опыта работы с MS SQL).

Возможно ли это?

Я пробовал несколько запросов, и, когда команда действительна, я получаю «Несоответствие типов данных в выражении критериев».

Кроме того, это будет из базы данных Paradox примерно с 1999-2000, если это будет иметь какое-либо значение.

РЕДАКТИРОВАТЬ: Даже простая конкатенация строк полей будет большой помощью, потому что я мог бы справиться с этим в коде.

РЕДАКТИРОВАТЬ: В ответ на ответ А.И.Бревелери. Я получаю это сообщение:

ОШИБКА [42000] [Microsoft] [ODBC Paradox Драйвер] Синтаксическая ошибка (отсутствует оператор) в выражении запроса 'CAST (m.DateComplete AS TIMESTAMP) - CAST ([1/1/3000] AS TIMESTAMP) + CAST (m.TimeComplete AS TIMESTAMP) '.

Когда я запускаю этот запрос:

select distinct 
  CAST(m.DateComplete AS TIMESTAMP) - 
  CAST("1/1/3000" AS TIMESTAMP) + 
  CAST(m.TimeComplete AS TIMESTAMP)
from Mean m 

Ответы [ 2 ]

1 голос
/ 26 июня 2009

QBE-запрос:

Query
ANSWER: :PRIV:ANSWER.DB

test.db | Date | Time                         | 
        | _x   | _y, calc _x+_y as "DateTime" | 

EndQuery

SQL-запрос:

SELECT DISTINCT
    CAST(D0."Date" AS TIMESTAMP) -
    CAST("1/1/3000" AS TIMESTAMP) +
    CAST(D0."Time" AS TIMESTAMP)
FROM 
    "test.db" D0

-Аль.

1 голос
/ 26 июня 2009
 SELECT CAST(f.DateColumn AS VARCHAR(20)) + ' ' + CAST(f.TimeColumn AS VARCHAR(20)) 
 FROM Foo f

Это дает вам соединенную строку.

 SELECT CAST(CAST(f.DateColumn AS VARCHAR(20)) + ' ' + CAST(f.TimeColumn AS VARCHAR(20)) AS TIMESTAMP) As FooTime
 FROM Foo f

дает вам объединенное время.

...