2014-04-14 16 views

Odpowiedz

8

Można spróbować użyć |

q)update x|0.5 from myTable 
1

Spróbuj kdb vector conditional jego podobna do Case-kiedy w SQL:

q)t:([] a:6?.9) 

q)t 
a 
--------- 
0.4237094 
0.5712045 
0.8705158 
0.2075746 
0.8549775 
0.3951729 

q)update ?[a<0.5;0.5;a] from t 
a 
--------- 
0.5 
0.5712045 
0.8705158 
0.5 
0.8549775 
0.5 
q) 
+0

Wektor uwarunkowane jest zbędne w tym prostym przypadku, mniej czytelny, a na moim komputerze, 4 razy wolniej. – mollmerx

3

Powinno działać. To zadziałało dla mnie. To zapytanie używałem do testowania:

update x:max(x;0.5) from myTable 

- Sprawdź średnik w funkcji max

+0

Bardzo miło - nie przyszło mi do głowy, że to zadziała, ale tak. Jest równie szybki jak (wprawdzie bardziej idiomatyczny) 'x | .5' – mollmerx

Powiązane problemy