php 필드 정렬 관련

php 필드 정렬 관련

QA

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;

아니면 이렇게 해보세요.

 

데이터형을 숫자형(소숫점)으로 변환합니다.

 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)

https://cclass.tistory.com/entry/MySQL-%EB%8D%B0%EC%9D%B4%ED%84%B0%ED%83%80%EC%9E%85-DateType?category=918764

정확한 금액이나 대출이자등 고정된 소수점을 구하고 싶다면 DECIMAL 타입을 사용해야한다.

 

적절한 타입으로 변경하시는 걸 추천합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,776 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT