2012-11-20 13 views
10

मुझे एक फ़ाइल के साथ कोई समस्या है जो डेटा से (डेटा के बाइट्स में) डेटाबेस से लौटाया गया है।
समस्या यह है कि फ़ाइल में कुछ नई पंक्तियां हैं।
मैं जानना चाहूंगा कि कहां से लिखने का कोई तरीका है कि कुछ रिकॉर्ड में एक न्यूलाइन कैरेक्टर है या नहीं? ASCII मूल्य देखने के लिए CHR समारोह का उपयोग करनाऑरैक टेबल में नई लाइन चार कैसे खोजें?

उत्तर

18

;

SELECT id 
    FROM table_name 
WHERE field_name LIKE '%'||CHR(10)||'%' 
; 

:

4

आप की तरह कुछ लिख सकते हैं (CHR(10) दसवें ASCII वर्ण है, यानी एक नई पंक्ति || संयोजन ऑपरेटर है।) :

select * 
from your_table 
where instr(your_text_col, chr(10)) > 0; 

यदि आप कैरिज रिटर्न की तलाश करना चाहते हैं, तो यह होगा (13)।

+1

धन्यवाद की तलाश में एक स्तंभ में डेटा खोज सकते हैं। मुझे एक और तरीका मिला: 'लेबल_मास्टर से चुनें * जहां regexp_like (टेक्स्ट, सीआर (10)) ' – meilechh

5

प्लेटफार्म के आधार पर, एक नई लाइन आमतौर पर CHR(10) (यूनिक्स) या CHR(13) होगी और उसके बाद CHR(10) (विंडोज) होगा। अन्य अधिक गूढ़ प्लेटफार्मों के लिए अन्य विकल्प हैं, लेकिन 99.9 99% समय, यह इन दोनों में से एक होगा।

आप एक या दोनों पात्रों

SELECT instr(column_name, CHR(10)) position_of_first_lf, 
     instr(column_name, CHR(13) || CHR(10)) position_of_first_cr_lf 
    FROM table_name 
WHERE instr(column_name, CHR(10)) > 0 
संबंधित मुद्दे