upper()将字母转化为大写,
lower()将字母转化为小写,
concat()将字符串连接起来,
left(2022,2)截取左边两个字符,结果是20,
right(2022,2)截取右边两个字符,结果是22,
拼接:substring 取子串(即取字符串的一部分),用法:substring(被截取的字符串,起始下标,截取的长度) .(起始下标从1开始,没有0),例如:substring(name,5,3)截取name这个字段,从第五个字符开始,只截取之后的三个字符。
给出 Customers表 如下:
cust_id | cust_name | cust_contact | cust_city |
a1 | Andy Li | Andy Li | Oak Park |
a2 | Ben Liu | Ben Liu | Oak Park |
a3 | Tony Dai | Tony Dai | Oak Park |
a4 | Tom Chen | Tom Chen | Oak Park |
a5 | An Li | An Li | Oak Park |
a6 | Lee Chen | Lee Chen | Oak Park |
a7 | Hex Liu | Hex Liu | Oak Park |
【问题】编写 SQL 语句,返回顾客 ID(cust_id)、顾客名称(cust_name)和登录名(user_login),其中登录名全部为大写字母,并由顾客联系人的前两个字符(cust_contact)和其所在城市的前三个字符(cust_city)组成。提示:需要使用函数、拼接和别名。
【示例结果】
返回顾客id cust_id,顾客名称cust_name,顾客登录名 user_login
cust_id | cust_name | user_login |
a1 | Andy Li | ANOAK |
a2 | Ben Liu | BEOAK |
a3 | Tony Dai | TOOAK |
a4 | Tom Chen | TOOAK |
a5 | An Li | ANOAK |
a6 | Lee Chen | LEOAK |
a7 | Hex Liu | HEOAK |
【示例解析】
例如,登录名是 ANOAK(Andy Li,居住在 Oak Park)
【答案】
select cust_id, cust_name,
upper(concat(substring(cust_contact, 1, 2), substring(cust_city, 1, 3))) as user_login
from Customers