Oracle sql 中的大写
Posted
技术标签:
【中文标题】Oracle sql 中的大写【英文标题】:Upper Case in Oracle sql 【发布时间】:2015-07-01 20:46:33 【问题描述】:我正在尝试使用大写的 Majors 和 Minors 创建一个视图,但 Oracle 一直给我一个错误。我做错了什么?
创建视图 A5T4 AS
选择学生 ID、Major1、Major2、Minor
来自 A5
WHERE UPPER(Major1, Major2, Minor)
按学生 ID 排序;
错误是:错误报告- SQL 错误:ORA-00909:参数数量无效 00909. 00000 - “参数数量无效” *原因: *行动:
【问题讨论】:
我不明白这个问题。您是否尝试仅显示大写的专业和未成年人?UPPER
只接受一个参数并且您的 WHERE 子句中没有条件。试试SELECT StudentID, UPPER(Major1) Major1, UPPER(Major2) Mayor2, UPPER(Minor) Minor FROM A5 ORDER BY StudentID;
我正在尝试以大写形式显示专业和未成年人。那么条件会是每一个专业吗?我必须列出它们吗?专业是例如 Fin 或 Mis... 我该怎么做?
【参考方案1】:
错误出现在 where 子句中。如果您希望您的字段使用大写,请在 SELECT 子句中使用该函数,而不是在 WHERE 子句中。
试试这个:
CREATE VIEW
A5T4
AS
SELECT
UPPER(StudentID) AS "StudentID",
UPPER(Major1) AS "Major1",
UPPER(Major2) AS "Major2",
UPPER(Minor) AS "Minor"
FROM
A5
ORDER BY
UPPER(StudentID);
【讨论】:
将ORDER BY UPPER(StudentId)
中的案例也折叠起来以使结果与视图中显示的值匹配可能是正确的。
如果视图给出列名以便引用它们也很好。
这就是我所做的:CREATE VIEW A5T4 AS SELECT StudentID, UPPER(Major1), UPPER(Major2), UPPER(Minor) FROM A5 ORDER BY StudentID;但现在它说 SQL Error: ORA-00998: must name this expression with a column alias 00998. 00000 - "must name this expression with a column alias"
成功了!谢谢你:)
没问题 :) 你能把我的答案标记为正确吗?以上是关于Oracle sql 中的大写的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Oracle 和 SQL Server 将 .NET 4.5 C# Entity Framework 6 中的列映射为大写?