2016-07-18 1 views
0

기본 키가 double 유형 인 테이블이 있다고 가정합니다. 1, 1.2,1.4,3,3,2,5,6,2,7 등 ..기본 유형이 int 유형이고 그 반대 인 경우에만 레코드를 선택하는 방법은 무엇입니까?

Microsoft Access에서 레코드 원본이나 쿼리 (SQL 문)를 기반으로하는 레코드 집합을 갖고 싶습니다. 기본 키 1,3,5 및 7 레코드 만 선택하십시오. 마찬가지로 이중 형식 (1.2,1.4,3.2 및 6.2) 선택하는 쿼리를 싶습니다. 그러한 쿼리는 어떻게 작성합니까?

select t.* 
from t 
where pk = int(pk); 

소수점 유형에 대한 쿼리가 매우 유사합니다

+0

** 기본 키 ** ** ** 정수 키 ** ** ** [소수 번호] (https://en.wikipedia.org/wiki/Prime_number) **? –

답변

1

여기 하나의 방법입니다.

한편, double은 기본 키에 매우 나쁜 유형입니다. 두 값은 동일하게 보이지만 다를 수 있습니다 (부동 소수점 표현이 작동하는 방식입니다). 그러한 키에 소수점이 필요한 경우에는 decimal을 대신 사용해야합니다.

+0

제안 해 주셔서 감사합니다. 이 경우 십진수를 사용합니다. 그래서 decimal 타입만을 선택하는 쿼리는 'pk = decimal (pk)'의 마지막 라인을 제외하고 정확히 똑같습니다. –

+1

아니요, 쿼리는'pk <> int (pk)'가 될 것입니다. –

관련 문제