2013-03-22 14 views
5

Vorrei inserire i valori NaN nel database SQLite.Memorizza valori NaN nel database SQLite

ho tavolo Ent con Id, StringColumn e DoubleColumn (non nullable) e cerco utilizzare la seguente istruzione SQL:

INSERT INTO Ent (Id, StringColumn, DoubleColumn) VALUES (1, 'NaN test', ????) 

Non so cosa mettere al posto di '???? ' per avere NaN memorizzato.

Sto accedendo al database utilizzando System.Data.SQLite - forse questo è importante?

+0

È possibile utilizzare NULL? Ciò servirebbe a uno scopo simile. – SDC

risposta

1

SQLite non ha una rappresentazione testuale dei valori NaN.

In SQL, lo speciale NULL si comporta allo stesso modo nei calcoli e può servire allo stesso scopo.

+0

Grazie per il suggerimento. In questo caso ho provato a utilizzare null, ma ottengo l'errore "Annullare a causa della violazione del vincolo. Ent.DoubleColumn potrebbe non essere NULL". L'unico modo per farlo funzionare è quello di cambiare DoubleColumn a nullable. –

1

Il trucco che utilizzo attualmente è archiviare -Infinity su colonne Real quando null non è sufficiente o non è consentito (dato che "non è nullo" su quella colonna).

4

SQLite è piuttosto ... lassista ... sui tipi di dati. Sentiti libero di mettere "NaN" in una colonna definita come "double". O "infinito". O "doppio", del resto. SQLite non si preoccupa.

Problemi correlati