【发布时间】:2013-03-08 14:46:11
【问题描述】:
我在 Oracle 10 上有这个查询:
SELECT DISTINCT NOME
FROM ICT.UTENTE
WHERE UPPER(nome) LIKE UPPER('MA%');
这行得通,让我得到类似的东西:
MARIA LUISA
Mariano
MARIO
我真正想要的是将每一行都设为大写,但我想不出将DISTINCT 和UPPER 关键字混合在一起的方法。我试图用以下任何一个替换第一个查询行:
SELECT DISTINCT UPPER(nome) -- not a SELECTed expression
SELECT UPPER (DISTINCT nome) -- missing expression
SELECT DISTINCT UPPER nome -- upper: invalid identifier
SELECT UPPER DISTINCT nome -- FROM keyword not found where expected
但我总是遇到麻烦!子查询是唯一的解决方案吗?
【问题讨论】:
-
具体有哪些错误?
-
SELECT DISTINCT UPPER(nome)应该可以工作......错误是什么?您使用的是哪个 DBMS? -
就像 Thomas 提到的
select distinct upper应该可以工作,我认为你不需要 UPPER 常量值 -UPPER('MA%') -
不是一个常量值,而是来自 HTML 表单的东西
标签: sql oracle select distinct uppercase