SQL中怎么根据字段值选择排序方法,求指点

SQL中如何根据字段值选择排序方法,求指点
比如SQL如下:
SELECT TN.VALUE,TN.SORT_TYPE
FROM TABLE_NAME TN
ORDER BY TN.VALUE (ASC|DESC)

表TN中有个字段SORT_TYPE(每条记录这个字段值同为1或0),当该字段值为1时查询结果升序排列,当字段值为0时降序排列,ORDER BY 如何判断呢?
ORDER BY

------解决方案--------------------
ORDER BY TN.VALUE,VALUE*case SORT_TYPE when 1 then 1 else -1 end

or

字符串累加生成SQL语句,再执行