
왼쪽 → 오른쪽 순이다.
DB2, MySQL, Oracle, PostgreSQL
ORDER BY 절에서 SUBSTR 함수를 사용한다.
SQL Server
ORDER BY절에서 SUBSTRING 함수를 사용한다.
SQL Server의 SUBSTRING은 문자 수를 지정하는 세번째 매개변수가
필요하므로 SUBSTR 함수와 다르다.
Oracle, SQL Server, PostgreSQL
REPLACE 및 TRANSLATE 함수를 사용하여 정렬한 문자열을 수정한다.
DB2
암시적 유형 변환은 Oracle 또는 PostgreSQL보다 DB2에서 더 엄격하므로
뷰가 유효하려면 DEPTNO 컬럼을 CHAR로 캐스트해야한다.
Oracle, PostgreSQL일 경우 같은 방식으로 REPLACE 및 TRANSLATE를 사용하지만
DB2에서는 TRANSLATE의 인수 순서가 다르다.
DB2, MySQL, PostgreSQL, SQL Server
값이 null일 때 CASE 식으로 사용하여 플래그를 수행한다.
두 개의 값을 지니는 플래그를 갖는다.
하나는 null을 나타내고 다른 하나는 null이 아닌 값을 나타낸다.
이 플래그 열을 ORDER BY 절에 추가하면
null이 아닌 값을 건드리지 않고 null 값을 처음에 정렬할지 또는
마지막으로 정렬할지 여부를 쉽게 제어할 수 있다.
Oracle
다른 플랫폼과 같이 사용하거나, Oracle 전용 해법을 사용할 수 있다.
전용 해법의 경우, ORDER BY절에서 NULLS LAST
혹은 NULLS FIRST를 사용한다.