특정 컬럼에서 소수점이 존재하는 레코드 조회하기
포스팅 개요
원하는 데이터가 실수형 컬럼 또는 필드일 경우 소수점 여부를 확인하는 방법이 필요한 경우가 있습니다. 오늘 예제 쿼리문에서는 사용자 함수를 만들지 않고 바로 적용 가능한 쿼리로 준비하였습니다. 사용되는 기본 함수는 ROUND 함수와 FLOOR 함수와 사용합니다. 각 함수의 간단한 특징을 살펴보겠습니다.
- ROUND 함수는 특정 길이나 전체 자릿수로 반올림한 숫자 값을 반환합니다.
- FLOOR 함수는 지정된 숫자 식보다 작거나 같은 최대 정수를 반환합니다.
예제 쿼리
이번 포스팅에서는 테스트용 테이블을 조금 수정하겠습니다 (하단에 쿼리 포함)
예제(1) 소수점이 존재하는 레코드만 검색하기
-- 소수점이 존재하는 레코드만 검색하기
SELECT * FROM Test_Table
WHERE ROUND(Stock_Weight, 10) - FLOOR(ROUND(Stock_Weight, 10)) <> 0
예제(2) 소수점이 없는 레코드만 검색하기
-- 소수점이 없는 레코드만 검색하기
SELECT * FROM Test_Table
WHERE NOT ROUND(Stock_Weight, 10) - FLOOR(ROUND(Stock_Weight, 10)) <> 0
※ 테스트용 테이블 생성 쿼리
-- TEST 테이블을 중복 생성을 막기 위한 테이블 유무 검사
IF OBJECT_ID ('dbo.Test_Table') IS NOT NULL DROP TABLE dbo.Test_Table
-- TEST 테이블 생성
CREATE TABLE Test_Table(
ID INT IDENTITY (1, 1) NOT NULL, --Key = 증가
In_Date VARCHAR (10) NULL, -- 입고일자
Employee VARCHAR (50) NULL, -- 사원
Stock VARCHAR(50) NULL, -- 입고품
Stock_Weight DECIMAL (18,2) NULL -- 수량
PRIMARY KEY (ID)
)
-- TEST 테이블에 INSERT
INSERT INTO Test_Table(In_Date, Employee, Stock, Stock_Weight) VALUES
('2022-12-01', '너울림', '사과', 130.8),
('2022-12-01', '너울림', '배', 120),
('2022-12-02', 'ullim', '바나나', 50.6),
('2022-12-07', '너울림', '바나나', 70.2),
('2022-12-07', 'ullim', '사과', 225),
('2022-12-08', 'ullim', '사과', 78),
('2022-12-09', '너울림', '귤', 150),
('2022-12-15', '너울림', '귤', 135.2),
('2022-12-15', 'ullim', '바나나', 111)
-- TEST 조회
SELECT * FROM Test_Table
실행 결과
순서대로 일반조회, 소수점 레코드만 조회, 정수 레코드만 조회가 실행됩니다.
참고 링크
'DataBase > MS-SQL' 카테고리의 다른 글
[MS-SQL] Microsoft SQL Server Express 모든 버전(~2022) 다운로드 설치 링크 (0) | 2024.12.31 |
---|---|
[MS-SQL] RAND 함수 활용하여 랜덤 일자(날짜), 시간 생성하기 (0) | 2023.02.08 |
[MS-SQL] 문자열에서 숫자만 추출하기 (스칼라 반환 함수) (0) | 2023.01.13 |
[MS-SQL] 서브 쿼리 검색 조건 'WHERE EXISTS' 절의 구조와 활용 (0) | 2023.01.12 |
[MS-SQL] Create Table 생략하고 임시 테이블 생성 (Select Into) (0) | 2023.01.04 |
[MS-SQL] 그룹별 ROW(행) 문자열 결과 합치기 (STUFF, FOR XML PATH 활용) (0) | 2023.01.03 |
[MS-SQL] 중복 테이블 삭제 후에 다시 테이블 생성(CREATE)하기 (0) | 2023.01.02 |
[MS-SQL] 다중 레코드 INSERT 하기 (0) | 2022.12.24 |
댓글