首页 > 解决方案 > 有什么方法可以为 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; 

标签: mysqlsql

解决方案


使用派生表(即子查询):

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
)

推荐阅读