我正在阅读有关SQL注入的文档,并且有一个我不明白的奇怪声明:
concat(col1,col2)x
x
有什么用?
答案 0 :(得分:3)
x的用途是什么?
列alias:
CREATE TABLE tab(col1 VARCHAR(100), col2 VARCHAR(100));
INSERT INTO tab(col1, col2) VALUES ('a','b');
查询:
SELECT concat(col1,col2)x
FROM tab
与
相同SELECT concat(col1,col2) AS x
FROM tab;
的 LiveDemo
强>
输出:
╔════╗
║ x ║
╠════╣
║ ab ║
╚════╝
答案 1 :(得分:0)
concat
- 返回一个字符串,该字符串是连接两个或多个字符串值的结果。
混淆是关于x。 x是连接的单个名称,因此您可以访问它。您也可以在{。
之前放置AS
<强>查询:强>
SELECT CONCAT ( 'Happy ', 'Birthday ', 11, '/', '25' ) AS Result;
<强>输出:强>
生日快乐11/25
答案 2 :(得分:0)
X是别名
对于Sql server 2012
Select concat('Abc',null,'def') as X
O / P
X
------
Abcdef
传统方式
select 'abc'+null+'xyz' as X
O / P
X
------
null
所以基本上 concate 函数在字符串连接期间避免使用null值,而传统方法不允许将字符串与null连接。