Benutzer mit den meisten Antworten
Text in varchar(8000) schreiben

Frage
-
Hallo,
ich habe folgendes Problem:
ich muss aus einer MSSQL Tabelle "bb_daten" einen Wert aus TEXT "b1_angefordert_bem " in eine Variable des Typs varchar(8000) schreiben ein. Klappt leider nicht :-(
Ich habe es versucht mit:
declare @t varchar(8000)
set @t = (select b1_angefordert_bem from bb_daten where id = 247)
select @tFehlermeldung: Die Datentypen text, ntext und image sind in dieser Unterabfrage oder in diesem Aggregatausdruck ungültig.
Irgendwie stehe ich auf dem Schlauch. Bin für jeden Tipp dankbar.
LG Marc
- Verschoben Dimitar DenkovMicrosoft contingent staff, Moderator Freitag, 1. Dezember 2017 09:48
Antworten
-
Hallo Marc,
warum varchar( 8000 ) und nicht varchar( MAX )?
Zum Fehler b1_angefordert_bem wird wohl eine Spalte vom Typ "text" sein, nehme ich an. Falls ja, musst Du die konvertieren.
SELECT CONVERT( varchar( 8000 ), b1_angefordert_bem ) AS b1_angefordert_bem FROM bb_daten WHERE id = 247
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Uwe RickenMVP Donnerstag, 23. November 2017 14:15
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Freitag, 1. Dezember 2017 09:48
Alle Antworten
-
Hallo Marc,
warum varchar( 8000 ) und nicht varchar( MAX )?
Zum Fehler b1_angefordert_bem wird wohl eine Spalte vom Typ "text" sein, nehme ich an. Falls ja, musst Du die konvertieren.
SELECT CONVERT( varchar( 8000 ), b1_angefordert_bem ) AS b1_angefordert_bem FROM bb_daten WHERE id = 247
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Uwe RickenMVP Donnerstag, 23. November 2017 14:15
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Freitag, 1. Dezember 2017 09:48
-
Super Danke, manchmal ist man einfach nur doof :-)
Warum nicht (MAX)?, weil das leider immer dazu führt, dass ich eine Fehlermeldung erhalte auf diesem Server. (MSSQL2015).
declare @t varchar(MAX)
set @t=(SELECT CONVERT( varchar(MAX), b1_angefordert_bem ) FROM cst_bb_daten WHERE id = 247)
select @tMeldung 170, Ebene 15, Status 1, Zeile 1
Zeile 1: Falsche Syntax in der Nähe von 'MAX'.
Meldung 170, Ebene 15, Status 1, Zeile 2
Zeile 2: Falsche Syntax in der Nähe von 'MAX'.Mit 8000 klappt das aber.
Danke dir nochmals.
LG Marc