I want to ensure all values in column x
are no smaller than 0.5, so I do:
update x:max (x 0.5) from myTable
But this gives an error (in Studio For KDB+):
An error occurred during execution of the query.
The server sent the response:
type
Studio Hint: Possibly this error refers to wrong type, e.g `a+1
What's wrong?
You can try using |
q)update x|0.5 from myTable
It should work. It worked for me. This is the query I used for testing:
update x:max(x;0.5) from myTable
-- Check semicolon in max function
Try the kdb vector conditional its similar to case-when in 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)