2016-03-30 2 views
1

ich eine Dokumentation über SQL-Injektionen zu lesen, und es ist eine seltsame Aussage, dass ich nicht verstehe:In SQL was macht concat (col1, col2) x?

concat(col1,col2)x 

Was ist die Verwendung der x?

+1

'concat' - gibt eine Zeichenfolge zurück, die das Ergebnis der Verkettung von zwei oder mehr Zeichenfolgenwerten ist. –

Antwort

3

Was ist die Verwendung des x?

Es ist Spalte alias:

CREATE TABLE tab(col1 VARCHAR(100), col2 VARCHAR(100)); 
INSERT INTO tab(col1, col2) VALUES ('a','b'); 

Abfrage:

SELECT concat(col1,col2)x 
FROM tab 

gleiche wie

SELECT concat(col1,col2) AS x 
FROM tab; 

LiveDemo

Ausgang:

╔════╗ 
║ x ║ 
╠════╣ 
║ ab ║ 
╚════╝ 
0

concat - gibt eine Zeichenfolge, die das Ergebnis der Verkettung von zwei oder mehr String-Wert ist.

Die Verwirrung geht um das x. Das x ist der zusammengesetzte einzelne Name, so dass Sie darauf zugreifen können. Sie können auch AS vor dem x platzieren.

Abfrage:

SELECT CONCAT ('Happy ', 'Birthday ', 11, '/', '25') AS Result; 

Output:

Alles Gute zum Geburtstag 11/25

0

X ist ein Alias ​​

für SQL Server 2012

Select concat('Abc',null,'def') as X 

o/p

X 
------ 
Abcdef 

in traditioneller Weise

select 'abc'+null+'xyz' as X 

o/p

X 
------ 
null 

so dass im Grunde Konz ate Funktion vermeiden Null-Wert während der Verkettung von String, während Tradition Ansatz nicht erlaubt, String mit Null zu concaten.

+2

Die Frage ist nicht über den 'concat() 'Aufruf, es geht um das' x' danach –