Utilizzo di Word TimeStamp riservato come nome di campo (Firebird 2.5)
-
05-07-2019 - |
Domanda
Sto estendendo il livello dati di un'applicazione esistente per lavorare con Firebird 2.5, oltre a MSSQL e SQLite, ma ho colpito un ostacolo.
Ho un campo chiamato TimeStamp che memorizza i dati / tempo come tipo TimeStamp. Funziona bene con MSSQL e SQLite dove il tipo è datetime, ma rientra in Firebird. Il seguente SQL:
SELECT SysTrnId,'TimeStamp' from "TRANSACTIONS"
sembra funzionare, ma il campo TimeStamp è restituito come fieldname " CONSTANT " e i contenuti sono il testo "timestamp"
È possibile farlo sotto Firebird, o dovrò rinominare il campo e cambiare il codice negli altri livelli di dati.
Soluzione
Il carattere di fuga di Firebird è la doppia virgoletta "
. Nota che in firebird se hai un campo che devi scappare con virgolette doppie, diventa anche sensibile al maiuscolo / minuscolo. Pertanto, se hai dichiarato il tuo campo come TimeStamp
, quindi seleziona " TIMESTAMP " ...
fallirà con un errore campo non trovato.
Altri suggerimenti
Non ho idea se funzioni, ma hai provato doppie virgolette intorno a " TimeStamp " ;, le virgolette singole di solito indicano una stringa costante.
Saluti
K