背景:
想从数据库中取出大写形式的username。如果先取出username,再在普通的java代码中把username专门转换成大写的形式,这样子做就太不优雅了。所以优雅的我们还是用db的upper()函数将查询出的username转换成大写形式吧。
问题:
select DISTINCT upper(username)
from user
where username IS NOT NULL
order by upper(username)
不过这样子写,问题就来了:查询不到我们想要的username。因为,在sql语句中我们的upper(username)无法映射到db表中的username这个字段,所以自然就取不出来 username。
解决:
select DISTINCT upper(username) as username
from user
where username IS NOT NULL
order by upper(username)
这里利用as取了个别名。具体as的用法可以去网上搜搜,很多的。