使用 concat() 构建列别名
Using concat() to build a column alias name
我正在使用 concat()
创建列名的名称:
set @var = 10;
select col as concat("str1", cast(@var as CHAR), "str2") from table1;
但我收到以下语法错误:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ('str1', cast(@var as char), 'str2')
我做错了什么?
尝试:
SET @var := 10;
SET @`sql` := CONCAT('select col as ',
'str1', cast(@var as CHAR), 'str2',
' from table1');
PREPARE `stmt` FROM @`sql`;
EXECUTE `stmt`;
DEALLOCATE PREPARE `stmt`;
我正在使用 concat()
创建列名的名称:
set @var = 10;
select col as concat("str1", cast(@var as CHAR), "str2") from table1;
但我收到以下语法错误:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ('str1', cast(@var as char), 'str2')
我做错了什么?
尝试:
SET @var := 10;
SET @`sql` := CONCAT('select col as ',
'str1', cast(@var as CHAR), 'str2',
' from table1');
PREPARE `stmt` FROM @`sql`;
EXECUTE `stmt`;
DEALLOCATE PREPARE `stmt`;