Paradosso: eseguire una query su una colonna Data + una colonna Ora come DateTime

StackOverflow https://stackoverflow.com/questions/1045899

  •  20-08-2019
  •  | 
  •  

Domanda

Prima di tutto, sono un principiante di Paradox.
In secondo luogo, sto interrogando un database di un pacchetto software di terze parti e non posso cambiare lo schema.

Ho due campi semplicemente chiamati " Data " e " Tempo " che vorrei interrogare come un DateTime (dalla mia esperienza con MS SQL).

È possibile?

Ho provato diverse query e, quando il comando è valido, ottengo " Mancata corrispondenza del tipo di dati nell'espressione dei criteri. "

Inoltre, questo verrebbe da un database Paradox tra il 1999 e il 2000 circa, se questo fa la differenza.

EDIT: anche una semplice concatenazione di stringhe dei campi sarebbe di grande aiuto perché potrei gestirlo nel codice.

EDIT: in risposta alla risposta di a.i.breveleri. Ricevo questo messaggio:

  

ERRORE [42000] [Microsoft] [Paradosso ODBC   Driver] Errore di sintassi (mancante   operatore) nell'espressione della query   'CAST (m.Data completata come TIMESTAMP) -                 CAST ([1/1/3000] AS TIMESTAMP) +                 CAST (m.Time Completato come TIMESTAMP) '.

Quando eseguo questa query:

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

Soluzione

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

Questo ti dà la stringa concatenata.

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

ti dà il tempo combinato.

Altri suggerimenti

Query QBE:

Query
ANSWER: :PRIV:ANSWER.DB

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

EndQuery

Query SQL:

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

-Al.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top