oracle按照字段的首字母进行排序然后再根据字段后面的上中下进行排序
时间: 2023-12-04 09:03:27 浏览: 99
您可以使用Oracle中的ORDER BY子句来按照字段的首字母进行排序,然后再根据字段后面的上中下进行排序。例如,假设您有一个名为“my_table”的表,其中包含一个名为“my_column”的字段,您可以使用以下查询来进行排序:
SELECT * FROM my_table ORDER BY SUBSTR(my_column,1,1),
CASE
WHEN SUBSTR(my_column,-1)='上' THEN 1
WHEN SUBSTR(my_column,-1)='中' THEN 2
WHEN SUBSTR(my_column,-1)='下' THEN 3
END
这将首先按照“my_column”字段的首字母进行排序,然后将按照字段末尾的“上中下”进行排序,其中“上”排在“中”前面,“中”排在“下”前面。
相关问题
oracle按照字段的首字母进行排序然后再根据字段后面的(上)(中)(下)进行排序
您可以使用Oracle的ORDER BY子句对字段进行排序。要按照字段的首字母进行排序,您可以使用以下语法:
```
SELECT column_name
FROM table_name
ORDER BY SUBSTR(column_name, 1, 1);
```
这将返回按照字段的首字母排序的结果集。如果您还需要根据字段后面的(上)(中)(下)进行排序,您可以使用以下语法:
```
SELECT column_name
FROM table_name
ORDER BY SUBSTR(column_name, 1, 1),
CASE
WHEN column_name LIKE '%(上)' THEN 1
WHEN column_name LIKE '%(中)' THEN 2
WHEN column_name LIKE '%(下)' THEN 3
ELSE 4
END;
```
这将首先按照字段的首字母进行排序,然后按照(上)(中)(下)的顺序进行排序。
阅读全文