2014-04-14 17 views

Trả lời

8

Bạn có thể thử sử dụng |

q)update x|0.5 from myTable 
1

Thử kdb vector conditional của nó tương tự như trường hợp khi trong 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

Vector có điều kiện là không cần thiết đối với trường hợp này đơn giản, ít có thể đọc và, trên máy tính của tôi, chậm hơn 4 lần. – mollmerx

3

Nó sẽ hoạt động. Nó làm việc cho tôi. Đây là câu hỏi tôi đã sử dụng để thử nghiệm:

update x:max(x;0.5) from myTable 

- Kiểm tra dấu chấm phẩy trong chức năng max

+0

Rất hay - nó đã không xảy ra với tôi rằng điều này sẽ làm việc, nhưng nó có. Chỉ nhanh như (thừa nhận thành ngữ hơn) 'x | .5' – mollmerx

Các vấn đề liên quan