2015-10-19 47 views
0

考慮表重要:InfluxDB如何在查詢中使用OR?

 
time        CO2 bloodSugar patientId 
2015-10-15T08:45:11.015937347Z    0.04   1 
2015-10-15T12:31:38.79680289Z  0.3     1 
2015-10-16T08:53:53.974538938Z    0.07   1 

我試圖讓要麼CO2值或bloodSugar價值,我使用的查詢點:

select * from vital where (bloodSugar != null or CO2 != null) and time > now() - 100w 

應該有3點返回,但是數據庫只返回條件爲bloodSugar != null(第1行和第3行)的點。查詢或數據庫有問題嗎?我該如何解決這個問題?

InfluxDB版本:0.9.4.2

回答

0

現在,我已經在influxdb讀了,你應該使用的時間序列數據,所以在那個時刻,你有沒有數據。

NULL的值設置爲0或-1是可以接受的。

+1

此時使用的數據庫產生錯誤。錯誤: '錯誤解析查詢:找到IS,預計)在第1行,字符40' – sha1

+0

我又增加了2次嘗試,給那些破解 –

+0

兩次嘗試產生與我的問題中的select語句相同的結果,不幸的是。 (僅返回'bloodSugar!= null'的行) – sha1

0

InfluxDB不存儲空值。您可以查詢是否存在某個值,但不能查詢null

嘗試select * from vital where (bloodSugar !~ /.*/ OR CO2 !~ /.*/) and time > now() - 100w

+0

使用此命令時,數據庫不會返回任何行。沒有錯誤,但。 – sha1

+0

空的返回意味着沒有匹配的點。我會再次看看語法 – beckettsean

+0

'bloodSugar'和'CO2'標記或字段?正則表達式匹配僅適用於標籤,而不適用於字段。 – beckettsean