繁体   English   中英

MySQL:选择字符串的连接和结果连接的长度

[英]MySQL: Select Concat of strings and Length of resulting Concat

在我的 CREATE VIEW 中,我想:

SELECT CONCAT( t.str1, t.str2 ) AS Title, CHAR_LENGTH( Title ) AS Length

但这会产生错误:

“字段列表”中的“标题”列未知。

在不必两次连接相同字符串的情况下,这样做的正确方法是什么?

您不能引用您在SELECT创建的别名,请改用表达式:

SELECT CONCAT( t.str1, t.str2 ) AS Title,
       CHAR_LENGTH(CONCAT( t.str1, t.str2 )  ) AS Length
FROM table_name t

如果需要,可以使用子查询:

SELECT sub.Title, CHAR_LENGTH( sub.Title ) AS Length
FROM (
   SELECT CONCAT( t.str1, t.str2 ) AS Title
   FROM table_name t
) AS sub;

All-at-once operation

“一次性操作”是指同一逻辑查询过程阶段中的所有表达式同时进行逻辑求值。

和:

我们不能在 SELECT 子句的下一列表达式中使用别名。 在查询中,我们创建了一个更正的名字,并希望在下一列中使用它来生成全名,但是一次性操作概念告诉我们您不能这样做,因为同一逻辑查询过程阶段中的所有表达式(这里是 SELECT)同时进行逻辑评估。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM