Wie kann ich die verketten einer Zeichenfolge mit einem Bit (documentTitle+Archiv) - SQL server 2005
Bekomme ich die folgende Fehlermeldung, wenn ich versuche, Sie zu verketten
Operand type clash: text-in nicht kompatibel mit bit
Ungültiger operator für Datentyp: Operator gleich Hinzufügen, Geben Sie gleich etwas
SELECT
F.SubmissionId, F.FormId,
F.DocumentTitle + F.Archive AS DocumentTitle,
F.Keywords, F.PublishDate, F.PostedDate, F.ExpiredDate,
F.IsFlag, F.IsAdminOnly, F.IsCompleted, F.IsPublished,
F.CreatedDate, F.AllowComments,
CASE WHEN F.Archive = 1 THEN 'Yes' ELSE 'No' END AS Archive,
I.ItemId, I.SubmissionId AS Expr1, I.ParamId, I.ParamValue
FROM
dbo.app_FormSubmission AS F
INNER JOIN dbo.app_FormSubmissionItems AS I ON
F.SubmissionId = I.SubmissionId
- Was erwartest du als Ergebnis "F. DocumentTitle + F. Archiv DocumentTitle"?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie brauchen, um zu konvertieren, führen Sie dies, um zu sehen, was ich meine
Warum gehst du nicht tun es in der Präsentations-Schicht was auch immer es in Ihrem Fall?
Wenn es nicht eine option, dann ist hier was ich tun würde. Zuerst würde ich prüfen, ob Fall - Anweisung arbeitet wie erwartet und wenn es das tut, würde ich verwenden concat SQL-Funktion zum verketten von strings.
Und stellen Sie sicher, dass bei der Verwendung von F. Archiv F. DocumentTitle + F. Archiv Sie sind tatsächlich unter Bezugnahme auf das Ergebnis der Ihr Fall Klausel, nicht in der ursprünglichen Spalte.
Ich dies tun musste, damit es funktioniert. Dank SQLMenace
SELECT CONVERT(varchar(50), F. DocumentTitle) + CONVERT(varchar(1), Archiv F.) ALS Expr1