ORDERBY子句中的PL SQL大小写
我试图在SQL的ORDERBY子句中使用CASE语句,我得到了以下错误 预期字符数为。。 预期Char已获得日期ORDERBY子句中的PL SQL大小写,sql,oracle,plsql,sql-order-by,case,Sql,Oracle,Plsql,Sql Order By,Case,我试图在SQL的ORDERBY子句中使用CASE语句,我得到了以下错误 预期字符数为。。 预期Char已获得日期 (CASE when inp='PAPER' then 'PAPERSTOCK' when inp='DOCS' then 30 when inp='DATE' then SYSDATE else 'NOTHING') 这是我的问题。。我知道CASE只返回一种数据类型。。我有一个要求,根据输入,Order By子句应该更改。。CASE语句应返回DATE/NUMBER/VARC
(CASE when inp='PAPER' then 'PAPERSTOCK'
when inp='DOCS' then 30
when inp='DATE' then SYSDATE
else 'NOTHING')
这是我的问题。。我知道CASE只返回一种数据类型。。我有一个要求,根据输入,Order By子句应该更改。。CASE语句应返回DATE/NUMBER/VARCHAR
这是可能的还是我们有其他选择 返回三种不同的数据类型。您有两个选项:将它们转换为兼容的格式(字符串)或使用多个case语句 对于后者:
order by (CASE when inp = 'PAPER' then PAPERSTOCK end),
(CASE when inp = 'DOCS' then DOCS end),
(CASE when inp = 'DATE' then INPUTDATE end)
我更改了
值,然后
值引用类似列名的内容,而不是常量。如果是按常量排序,那么输入是什么并不重要。返回三种不同的数据类型。您有两个选项:将它们转换为兼容的格式(字符串)或使用多个case语句
对于后者:
order by (CASE when inp = 'PAPER' then PAPERSTOCK end),
(CASE when inp = 'DOCS' then DOCS end),
(CASE when inp = 'DATE' then INPUTDATE end)
我更改了
值,然后
值引用类似列名的内容,而不是常量。如果是按常量排序,那么输入是什么并不重要。返回三种不同的数据类型。您有两个选项:将它们转换为兼容的格式(字符串)或使用多个case语句
对于后者:
order by (CASE when inp = 'PAPER' then PAPERSTOCK end),
(CASE when inp = 'DOCS' then DOCS end),
(CASE when inp = 'DATE' then INPUTDATE end)
我更改了
值,然后
值引用类似列名的内容,而不是常量。如果是按常量排序,那么输入是什么并不重要。返回三种不同的数据类型。您有两个选项:将它们转换为兼容的格式(字符串)或使用多个case语句
对于后者:
order by (CASE when inp = 'PAPER' then PAPERSTOCK end),
(CASE when inp = 'DOCS' then DOCS end),
(CASE when inp = 'DATE' then INPUTDATE end)
我更改了
值,然后
值引用类似列名的内容,而不是常量。如果按常量排序,则输入内容无关紧要。我添加了相关示例数据。。实际上,它们不是常量,而是表列。。实际上,它们不是常量,而是表列。。实际上,它们不是常量,而是表列。。实际上,它们不是常量,而是表列。