Zeilenumbruchzeichen in varchar-Feld finden

13/01/2009 - 15:52 von AndreT78 | Report spam
Hallo,

ich habe eine Tabelle (eine replizierte) mit einem Varchar(255) Feld.

Dieses wird in der Ursprungsdatenbank durch eine Anwendung befüllt. In der
Anwendung ist dies ein mehrzeiliges Memo-Feld.

Wenn dort durch ein "Enter" eine neue Zeile begegonnen wird, wird
anscheinend auch in dem Feld das dazugehörige Steuerzeichen abgelegt.

Ich kann damit nur leider in meiner replizierten Tabelle nichts anfangen und
würde gerne diese Datensàtze erkennen.

Wie Frage ich das ab?

Select * from Tabelle where Feld1 like ?????

Ich kann da nichts mit anfangen, weil ich Ergebnisse mit diesem Feld via

exec xp_cmdshell 'bcp "select * from ... " queryout "\\Pfad\test.txt" -T
-t; -w '

in Textfiles exporiere und die Datensàtze jeweils in maximal einer Zeile
stehen sollen.
Durch das Steuerzeichen kommt es dann aber auch hier zu Zeilenumbrüche.

Ich hoffe, es kann mir jemand helfen.
Danke

Gruß Andre
 

Lesen sie die antworten

#1 Frank Kalis
13/01/2009 - 16:17 | Warnen spam
On 13 Jan., 15:52, AndreT78
wrote:
Hallo,

ich habe eine Tabelle (eine replizierte) mit einem Varchar(255) Feld.

Dieses wird in der Ursprungsdatenbank durch eine Anwendung befüllt. In der
Anwendung ist dies ein mehrzeiliges Memo-Feld.

Wenn dort durch ein "Enter" eine neue Zeile begegonnen wird, wird
anscheinend auch in dem Feld das dazugehörige Steuerzeichen abgelegt.

Ich kann damit nur leider in meiner replizierten Tabelle nichts anfangen und
würde gerne diese Datensàtze erkennen.

Wie Frage ich das ab?

Select * from Tabelle where Feld1 like ?????

Ich kann da nichts mit anfangen, weil ich Ergebnisse mit diesem Feld via

exec xp_cmdshell 'bcp "select * from ...  " queryout "\\Pfad\test.txt" -T
-t; -w '

in Textfiles exporiere und die Datensàtze jeweils in maximal einer Zeile
stehen sollen.
Durch das Steuerzeichen kommt es dann aber auch hier zu Zeilenumbrüche.




Evtl musst Du mit einer Kombination aus CHAR(10) & CHAR(12) arbeiten:

SET NOCOUNT ON;

DECLARE @t TABLE (c1 varchar(255));

INSERT INTO @t SELECT 'Hallo'
UNION ALL SELECT 'Hallo
Welt';

SET NOCOUNT OFF;

SELECT
*
FROM
@t
WHERE
c1 LIKE '%' + CHAR(10) + '%';

Hallo
Welt

(1 row(s) affected)

Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org

Ähnliche fragen