mysql - 有什么方法可以为 SQL 中的函数分配名称,以便以后引用?
问题描述
在使用 SQL 练习 sakila 数据库时,下面是我编写的用于连接演员的名字和姓氏的代码。现在我想为整个 concat 函数指定一个名称,我可以用它来引用它下面的 length 函数中的 concat 函数。
请帮助解决这个问题。
SELECT
CONCAT(CONCAT(LEFT(first_name, 1),LOWER(SUBSTRING(first_name, 2))," ",CONCAT(LEFT(last_name, 1), LOWER(SUBSTRING(last_name, 2))))) Actor_Name,
LENGTH(CONCAT(CONCAT(LEFT(first_name, 1),LOWER(SUBSTRING(first_name, 2))," ",CONCAT(LEFT(last_name, 1), LOWER(SUBSTRING(last_name, 2)))))) Name_Length
FROM actor;
解决方案
使用派生表(即子查询):
SELECT Actor_Name, length(Actor_Name) Name_Length
FROM
(
SELECT
CONCAT(CONCAT(LEFT(first_name, 1),LOWER(SUBSTRING(first_name, 2))," ",CONCAT(LEFT(last_name, 1), LOWER(SUBSTRING(last_name, 2))))) Actor_Name
FROM actor
)
推荐阅读
- angular - 保存 mat-stepper 状态并在页面刷新时将其传递给相同的 mat-stepper
- mysql - MySQL SELECT 在 SELECT 子句或 WHERE 子句中,以便进一步过滤
- node.js - UnhandledPromiseRejectionWarning: TypeError: questionList is not iterable
- r - trycatch 在 R 中只返回警告而不是错误
- sql - 只取行集中的第一行
- angular - 在任何扩展的 angularjs 上显示图像 base64
- python - 在通过成对距离进行的python层次聚类中,我如何削减特定距离并获取集群和每个集群的成员列表?
- arm - 如何知道 IRQ 是否立即在 ARM Cortex M0+(或任何其他 MCU)上提供服务
- java - Spring 中使用的 XML Schema URL 是从什么时候开始仅支持 TLS1.2 的?
- java - Jakarta Dsn - 引起:java.lang.ClassNotFoundException:jakarta.activation.DataContentHandler