2009-08-26 27 views
41

SQL sorgusu kaldırılması ve sonuçta ben bir tablodaki bazı veriler var ve bazı satır başları yerlerde vardır satırbaşınıSQL String içinde bir satır başı için sorgu ve sonuçta satırbaşı bir dizede bir satırbası

çıkarmadan onları istemediğim yer. Taşıyıcı getirileri içeren tüm dizeleri almak için bir sorgu yazmaya çalışıyorum.

ben her ikisi de geçerlidir SQL vardır ama ne arıyorum döndürmediğinden Ayrıca

select * from Parameters 
where Name LIKE '\r' 

'

bu

select * from Parameters 
where Name LIKE '%"\n" %' 

çalıştı. komutunu veya farklı bir komutu kullanmam gerekir mi? Arabayı sorguya nasıl iade edebilirim?

Şaryo dönüşü mutlaka satırın sonunda değil (ortada olabilir).

+0

bu muydu? –

cevap

53

bu yavaş olacak, ancak tek seferlik bir şey ise, ...

select * from parameters where name like '%'+char(13)+'%' or name like '%'+char(10)+'%' 

Not deneyin ANSI SQL dize birleştirme işleci "||" dır, bu nedenle şunlar olabilir:

select * from parameters where name like '%' || char(13) || '%' or name like '%' || char(10) || '%' 
+2

Postgresql, "char" yerine "chr" işlev adını kullanır. –

+0

Çok teşekkür ederim! – PeteFoulkes

+0

Daha önce hiç görmedim '' '' OR' yerine bir SQL dizgisinde kullanılır. Bu ne zaman bir endişe? – mmcrae

0

İlk sorgudaki çift tırnak işaretlerini atlayın. Böyle

... LIKE '%\n%' 
0

şey benim için iş gibi görünüyor:

SELECT * FROM Parameters WHERE Name LIKE '%\n%' 
3

Ayrıca normal ifadeleri kullanabilirsiniz:

SELECT * FROM Parameters WHERE Name REGEXP '\n'; 
5

SQL Server ana soru CR/LF kaldırmak oldu

where charindex(char(13), name)<>0 
49

kullanmak. yerine ve Char fonksiyonlarını kullanma benim için çalışıyor:

Select replace(replace(Name,char(10),''),char(13),'') 

Postgres veya Oracle SQL, yerine CHR işlevini kullanın:

 replace(replace(Name,CHR(10),''),CHR(13),'') 
0

Bu aynı zamanda çalışan bu işleri

SELECT TRANSLATE(STRING_WITH_NL_CR, CHAR(10) || CHAR(13), ' ') FROM DUAL; 
+1

Bu Oracle sözdizimi nedir? – HLGEM

1

: Tablodaki sütundan '% (hit enter)%' gibi bir değer seçin '

Yoksay parantez ve yeni satır tanıtmak için enter tuşuna basın. Sql sunucusu için