2017-06-14 7 views
-1

hallo Ich habe zwei separate Spalten [StuName, StuLName]Kombination auf 2 Spalten in einer Spalte

in select i wie folgt verwenden:

Select StuName, StuLName From Tbl_Student

Ergebnis: [Mahdi], [Hosseini ]

ist es eine Möglichkeit, dieses Bild 2 Spalten in einer Spalte zu verbinden (nur in ausgewählten) so etwas wie dieses:

Select StuName + " " + StuLName From Tbl_Student

Ergebnis (zum Beispiel):

Mahdi Hosseini

StuName und StuLName sind NVARCHAR

+0

Die Art und Weise haben Sie es funktionieren sollte. Hast du es versucht? –

+0

muss möglicherweise "anstatt" –

+0

ja ich versuchte, aber nicht arbeiten, seine Rückkehr Null –

Antwort

3

Ihre Anfrage arbeiten sollte. Sie können aber auch [CONCAT] bespannen togehter zwei oder mehr Strings verwenden:

SELECT CONCAT('First' , ' ' , 'Last') 

Ergebnis:

First Last 

Weitere Daten zu Concat auf MSDN.

In Ihrem Fall sollte dies den Trick tun:

SELECT CONCAT(StuName, ' ',StuLName) AS StudentName FROM Tbl_Student 
+0

können Sie Beispiel mit OP Spalten und Tabellenname hinzufügen, das wäre nützlicher für ihn/sie. – Nino

+0

@Nino - Fertig :) Danke für den Vorschlag – SchmitzIT

+0

tnx seine Arbeit ... –

1

Try this:

SELECT TABLE_SCHEMA + '.' + TABLE_NAME AS ColumnZ 
FROM information_schema.tables 
1

SQL verwendet ein Paar Apostroph statt doppelte Anführungszeichen. Dies sollte funktionierte gut:

Select StuName + ' ' + StuLName From Tbl_Student 
1

versuchen, diese Abfrage, einer der Spalte Nullwert haben könnte, so dass es einen Nullwert

Select ISNULL(StuName,'') + ' ' + ISNULL(StuLName,'') From Tbl_Student 
1

Zu allererst Ihrer Aussage zurückkehren wird versucht, eine Spalte mit dem Namen "zu erhalten ". Wenn Sie nur ein Leerzeichen möchten, müssen Sie ein einzelnes Zitat verwenden: ''. Bei einem doppelten Zitat verweisen Sie im Allgemeinen auf eine Spalte oder ein Datenbankobjekt.

SQLServers String-Verkettung, wenn mindestens eine der verketteten Werte null zurückgibt, ist null:

'te' + 'st' = 'test' 

aber

'te' + null = null 

Sie einen Wert Um sicherzustellen, erhalten, müssen Sie sicherstellen, dass alle Teile Liefern Sie einen Nicht-Null-Wert. Dies geschieht unter Verwendung von isNull oder Koaleszenz. Ich bevorzuge verschmelzen weil es imho eher ein Standard ist (korrigieren Sie mich, wenn ich falsch liege). Oder Sie könnten die sehr nützliche concat Funktion verwenden, die all dies für ihre Parameter übernimmt.

So sollte Ihre Aussage wie folgt aussehen:

Select coalesce(StuName,'') + ' ' + coalesce(StuLName,'') From Tbl_Student 

oder

Select concat(StuName,' ',StuLName) From Tbl_Student 
Verwandte Themen