php 필드 정렬 관련
본문
안녕하세요.
php 필드 정렬할 때,
VARCHAR 로 소수점포함한 숫자로 입력된 것을 정렬하면
16.111111111111
16.944444444444
8.3333333333333
8.4444444444444
와 같이 정렬됩니다.
int 로 입력하면 소수점이하는 사라지고
아래와 같이 정렬하려면
필드를 어떻게 해야 하는지요?
8.3333333333333
8.4444444444444
16.111111111111
16.944444444444
^^
답변 6
SELECT * FROM 테이블 ORDER BY CAST(컬럼명 AS DECIMAL) ASC;
아니면 이렇게 해보세요.
데이터형을 숫자형(소숫점)으로 변환합니다.
SELECT * FROM 테이블명 ORDER BY 컬럼명 ASC;
이렇게 하면 오름차순 정렬 될텐데요?
ORDER BY 컬럼명 ASC;
했는데 안되어 질문드린 것입니다.
$nums = [16.111111111111, 16.944444444444, 8.3333333333333, 8.4444444444444]; sort($nums); // 이 부분처럼 하시면 됩니다. foreach ($nums as $num) { echo $num."\n"; }
이런종류의 정렬은 할 줄 압니다.
int
처럼 필드 종류로 입력받아
정렬하고 싶어 질문 드린 것입니다.
select * from 테이블 order by cast(필드명 as decimal)
TRANSLATE with x
English
TRANSLATE with
Enable collaborative features and customize widget: Bing Webmaster Portal
정확한 금액이나 대출이자등 고정된 소수점을 구하고 싶다면 DECIMAL 타입을 사용해야한다.
적절한 타입으로 변경하시는 걸 추천합니다.
답변을 작성하시기 전에 로그인 해주세요.