SELECT Tbl.*,
ROWNUM RN1
FROM
(
SELECT DISTINCT( LEAVEID ),
LEAVECODE,
LEAVENAME,
DESCRIPTION,
STATUS
FROM HRM_LEAVECONFIGURATION
WHERE
(
(
:LEAVENAME IS NULL OR
UPPER( LEAVENAME ) LIKE UPPER( :LEAVENAME )
)
AND
(
:STATUS IS NULL OR
STATUS = :STATUS
)
AND
(
ISFIXED <> 1 OR
ISFIXED IS NULL
)
AND
(
:LEVECODE IS NULL OR
UPPER( LEAVECODE ) = UPPER( :LEVECODE )
)
)
ORDER BY(
CASE
(
SELECT t.data_type
FROM user_tab_columns t
WHERE t.TABLE_NAME = 'HRM_LEAVECONFIGURATION' AND
t.COLUMN_NAME = 'LEAVENAME'
)
WHEN 'VARCHAR2'
THEN 'UPPER(LEAVENAME)'
ELSE 'LEAVENAME'
END ) DESC
)
Tbl
Это код, с которым я столкнулся.
Здесь я передаю имя поля в качестве параметра, в соответствии с типом данных поля, которое я хочу дать в верхнем регистре.
Например, если в качестве столбца, который нужно упорядочить, я даю название квасного, если тип данных квинного имени varchar2, то порядок по верхнему (квасное имя) По убыванию, если тип данных марочного отличного от varchar, то порядок по простому названию.
Здесь моя проблема в том, что этот запрос работает, но он не получает заказ. Есть ли другие предложения?