2009-08-26 30 views
41

SQL क्वेरी को दूर करने और अंततः गाड़ी वापसीSQL क्वेरी और अंत में गाड़ी वापसी एक स्ट्रिंग में एक गाड़ी वापसी के लिए

को हटाने मैं किसी तालिका में कुछ डेटा है और वहाँ स्थानों में कुछ कैरिएज रिटर्न हैं जहां मैं उन्हें नहीं चाहता। मैं कैरिज रिटर्न वाले सभी तारों को प्राप्त करने के लिए एक प्रश्न लिखने की कोशिश कर रहा हूं।

मैं इस

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

की कोशिश की इसके अलावा

select * from Parameters 
where Name LIKE '\r' 

'

दोनों वैध एसक्यूएल हैं, लेकिन वापस नहीं कर रहे हैं मैं क्या देख रहा हूँ। क्या मुझे कमांड या एक अलग कमांड की तरह उपयोग करने की आवश्यकता है? मैं क्वेरी में कैरिज वापसी कैसे प्राप्त करूं?

कैरिज रिटर्न लाइन के अंत में आवश्यक नहीं है (बीच में हो सकता है)।

+0

यह एसक्यूएल सर्वर के लिए था? –

उत्तर

53

इस धीमी हो जाएगा, लेकिन अगर यह एक बार बात है, कोशिश ...

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

ध्यान दें कि एएनएसआई एसक्यूएल स्ट्रिंग कॉन्सटेनेशन ऑपरेटर "||" है, इसलिए इसे होने की आवश्यकता हो सकती है:

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

पोस्टग्रेस्क्ल 'char' के बजाय फ़ंक्शन नाम' chr' का उपयोग करता है। –

+0

बहुत बहुत धन्यवाद! – PeteFoulkes

+0

मैंने 'OR' की बजाय SQL स्ट्रिंग में उपयोग नहीं किया है। यह चिंता कब है? – mmcrae

0

अपनी पहली क्वेरी से डबल कोट्स को छोड़ दें।

... LIKE '%\n%' 
0

कुछ इस तरह मेरे लिए काम करने लगता है:

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

तुम भी रेगुलर एक्सप्रेशन का उपयोग कर सकते हैं:

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

एसक्यूएल सर्वर में मैं

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

उपयोग करेंगे मुख्य प्रश्न CR/वामो दूर करने के लिए किया गया था। की जगह और चार कार्यों का उपयोग करना मेरे लिए काम करता है:

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

यह भी काम करता है

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

यह ओरेकल वाक्यविन्यास है? – HLGEM

1

इस काम करता है::

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

Postgres या Oracle SQL के लिए, CHR समारोह के बजाय का उपयोग तालिका से * चुनें जहां कॉलम '% (हिट दर्ज करें)%

अनदेखा करें ब्रैकेट और हिट नई लाइन पेश करने के लिए दर्ज करें।

संबंधित मुद्दे