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 中的列映射为大写?

SQL语句为啥是大写

oracle数据库怎样用SQL语句把字段中所有的字节转化在大写?

oracle 的所有资料为什么都是大写

SQL语言必须大写吗?

请问SQL数据库设计时字段名头一个字母是大写还是小写?