"human"알파벳 순이지만 컴퓨터 알파벳 순서가 아닌 제목이있는 테이블이 있습니다. 이러한 숫자와 알파벳 두 풍미에 :SQL 문자열 조작을 사용하여 ORDERBY "human"사전 순 주문
수치 : 1.9도, 1.10도, 1.11도 ...
알파벳 :도 1a ...도 1Z .. .도 1AA
I가 orderby
타이틀 결과 1.10-1.19 1.1와 1.2 사이에 서 있다고하고, 1AA-1AZ은 1A 및 1B 사이 오면. 그러나 이것은 내가 원하는 것이 아닙니다. 1.10이 1.9, 1AA가 1Z 다음에 오는 "인간"알파벳 순서를 원합니다.
SQL에서 문자열 조작 (또는 내가 생각하지 못했던 다른 것)을 사용하여 원하는 명령을 얻는 방법이 아직 남아 있는지 궁금합니다.
저는 SQL 전문가가 아니므로 가능한지 모르지만 조건부 대체를 수행 할 방법이 있다면 다음과 같이 원하는 순서를 지정할 수 있습니다.
(오른쪽,
replace
수행 할 수 있습니다?) 기간을 삭제나머지 그림 3 개 이상의 문자 경우, 첫 번째 문자 이후
0
(영)을 추가합니다.
이 나에게 내가 원하는 결과를 줄 것 같다 : 1.9
이 109
될 것 110
앞에 오는; 1Z
은 10Z
이되며 1AA
앞에옵니다. 하지만 SQL로 할 수 있습니까? 그렇다면 구문은 무엇입니까?
설명 된 순서대로 쿼리 결과를 출력하기 위해 데이터 자체를 수정하고 싶지는 않습니다.
이것은 Wordpress 설치의 맥락에서 볼 수 있지만, PHP와는 달리 MySQL 질의 단계에서 일어나는 주문에 따라 페이지 설정과 같은 여러 가지 문제가 발생하기 때문에 질문을 더 적절하게 SQL 질문이라고 생각합니다.
는 슬프게도, 나는 당신의 가장 좋은 건 설정에 대한 것이라고 생각하는 데 도움이 '1 => 1.1' 및'10 = 1.10'이되도록 조회 테이블을 만듭니다. – Kermit
실제로 사용하고있는 값은 "1.1", "그림 1.1"또는 "그림 1.1 그림의 캡션"입니다. –
그건 나쁜 생각이 아니 었나요? 하나의 선택 항목에서 숫자와 알파를 혼합하여 정렬 할 것입니까? 만약 그렇다면 우리는 1Z에 2.0이 뒤따라 온다고 주장 할 수 있습니까? –