2016-11-04 2 views

답변

3

캐스팅하기 전에 비교하기 때문에 작동하지 않는 이유가 있습니다.

q)(`$"A-o") in (`$"A-o";`R) 
1b 
+0

일반적으로 예, 기호에 문자가 포함되어있을 때 어색 할 수는 있지만 예제에서 수행 한 것처럼 캐스트 된 문자열을 처리하는 것이 좋습니다. – terrylynch

1

같이에있는 왼쪽 인자 주위에 괄호를 넣어보십시오 :

(`$"A-o") in (`$"A-o";`R) 

그래서, 테이블에, 시도 :

t:([] sym:(`$"A-o";`R;`IBM); col2:1 2 3) 
select from t where sym = `$"A-o" 
2
당신은 비교 먼저 캐스팅해야

초기 sym 캐스트`$는 "Ao"문자열뿐만 아니라 전체 라인에 적용됩니다. q가 왼쪽에 있습니다. 대괄호로 답하십시오.

q)`$"A-o" in (`$"A-o";`R) 
'type 
    [0] <>:0: `$"A-o" in (`$"A-o";`R) 
        ^
q)(`$"A-o") in (`$"A-o";`R) 
1b 
q) 
0

다른 답변은 괄호를 사용하여 실행 순서를 수정하는 방법을 설명합니다. "-"그러나 같은 문자없이 문자를 처리 할 수없는 변환이 필요하지 않도록, 나쁜 문자를 제거하는 기능 .Q.id를 사용하여 :

q).Q.id each (`$"A-o";`R) 
`Ao`R 

는 위의 예를 단순화하기 :

q)`Ao in .Q.id each (`$"A-o";`R) 
1b 
관련 문제