이번에 mariadb 10.7.0버전에서 네추럴 정렬관련해서 기능추가가 되었다고합니다.
사용법은 order by 절에 natural_sort_key(정렬하고자하는 컬럼)을 넣어 주시면 됩니다.
아래 해당 예시는 단순 order by와 natural_sort_key로 정렬 했을때 차이를 보여 주시는 예시입니다.

참고 링크 : https://mariadb.org/10-7-preview-feature-natural-sort/
댓글 6개
참고로 PHP에서는 natsort(), natcasesort() 함수가 같은 역할을 합니다. (PHP 4, 5, 7, 8)
+ natsort()
- https://www.php.net/manual/en/function.natsort.php
- http://docs.php.net/manual/kr/function.natsort.php
+ natcasesort()
- https://www.php.net/manual/en/function.natcasesort.php
- http://docs.php.net/manual/kr/function.natcasesort.php
$temp = [
'10.1.22',
'10.2.1',
'10.2.12',
'10.3.32',
'10.7.0',
'5.5.31',
];
print_r($temp);
natsort($temp);
print_r($temp);
↓
Array
(
[0] => 10.1.22
[1] => 10.2.1
[2] => 10.2.12
[3] => 10.3.32
[4] => 10.7.0
[5] => 5.5.31
)
Array
(
[5] => 5.5.31
[0] => 10.1.22
[1] => 10.2.1
[2] => 10.2.12
[3] => 10.3.32
[4] => 10.7.0
)
+ natsort()
- https://www.php.net/manual/en/function.natsort.php
- http://docs.php.net/manual/kr/function.natsort.php
+ natcasesort()
- https://www.php.net/manual/en/function.natcasesort.php
- http://docs.php.net/manual/kr/function.natcasesort.php
$temp = [
'10.1.22',
'10.2.1',
'10.2.12',
'10.3.32',
'10.7.0',
'5.5.31',
];
print_r($temp);
natsort($temp);
print_r($temp);
↓
Array
(
[0] => 10.1.22
[1] => 10.2.1
[2] => 10.2.12
[3] => 10.3.32
[4] => 10.7.0
[5] => 5.5.31
)
Array
(
[5] => 5.5.31
[0] => 10.1.22
[1] => 10.2.1
[2] => 10.2.12
[3] => 10.3.32
[4] => 10.7.0
)
게시글 목록
| 번호 | 제목 |
|---|---|
| 16801 | |
| 16798 | |
| 16796 | |
| 16795 | |
| 16791 | |
| 16790 | |
| 16785 | |
| 16777 | |
| 16776 | |
| 16766 | |
| 16760 | |
| 16759 |
JavaScript
전화번호 및 휴대번호 자동하이픈(-)
2
|
| 16740 | |
| 16737 | |
| 16735 | |
| 16728 | |
| 16713 |
PHP
PHP Router
17
|
| 16700 | |
| 16691 | |
| 16669 | |
| 16668 |
MySQL
특정 row의 index 값 구하기
5
|
| 16660 | |
| 16655 | |
| 16654 | |
| 16647 | |
| 16639 | |
| 16637 | |
| 16634 | |
| 16629 | |
| 16620 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기