سؤال

أنا أستخدم REPLACE في طريقة عرض SQL لإزالة المسافات من رقم الخاصية.يتم إعداد الوظيفة مثل هذا REPLACE(pin, ' ', '').على الشاشة الخضراء بدا الاستعلام جيدًا.في أي شيء آخر نحصل على القيم السداسية للأحرف الموجودة في الحقل.أنا متأكد من أنه شيء ترميز، ولكن كيف يمكنني إصلاحه؟

فيما يلي البيان الذي استخدمته لإنشاء العرض:

CREATE VIEW RLIC2GIS AS SELECT REPLACE(RCAPIN, ' ', '') AS 
RCAPIN13 , RLICNO, RONAME, ROADR1, ROADR2, ROCITY, ROSTAT, ROZIP1, 
ROZIP2, RGRID, RRADR1, RRADR2, RANAME, RAADR1, RAADR2, RACITY,     
RASTAT, RAZIP1, RAZIP2, REGRES, RPENDI, RBLDGT, ROWNOC, RRCODE,    
RROOMS, RUNITS, RTUNIT, RPAID, RAMTPD, RMDYPD, RRFUSE, RNUMCP,     
RDATCP, RINSP, RCAUKY, RCAPIN, RAMTYR, RYREXP, RDELET, RVARIA,     
RMDYIN, RDTLKI, ROPHN1, ROPHN2, ROCOM1, ROCOM2, RAPHN1, RAPHN2,    
RACOM1, RACOM2, RNOTES FROM RLIC2

تحديث:لقد نشرت الجواب أدناه.

هل كانت مفيدة؟

المحلول

لقد انتهى بنا الأمر باستخدام concat وsubstring للحصول على النتائج التي أردناها.

CREATE VIEW RLIC2GIS AS                                  
SELECT CONCAT(SUBSTR(RCAPIN,1,3),CONCAT(SUBSTR(RCAPIN,5,2),      
CONCAT(SUBSTR(RCAPIN,8,2), CONCAT(SUBSTR(RCAPIN,11,3),           
SUBSTR(RCAPIN, 15,3))))) AS CAPIN13, RLICNO, RONAME, ROADR1,     
ROADR2, ROCITY, ROSTAT, ROZIP1, ROZIP2, RGRID, RRADR1, RRADR2,   
RANAME, RAADR1, RAADR2, RACITY, RASTAT, RAZIP1, RAZIP2, REGRES,  
RPENDI, RBLDGT, ROWNOC, RRCODE, RROOMS, RUNITS, RTUNIT, RPAID,   
RAMTPD, RMDYPD, RRFUSE, RNUMCP, RDATCP, RINSP, RCAUKY, RCAPIN,   
RAMTYR, RYREXP, RDELET, RVARIA, RMDYIN, RDTLKI, ROPHN1, ROPHN2,  
ROCOM1, ROCOM2, RAPHN1, RAPHN2, RACOM1, RACOM2, RNOTES FROM RLIC2

نصائح أخرى

قد تكون المشكلة هنا هي أن ما تعتقد أنه الحرف الفارغ في هذا الحقل هو في الواقع حرف آخر غير قابل للطباعة.

يمكنك استخدام SQL التالي لمعرفة حرف ASCII الموجود في الموضع الرابع:

select ascii(substr(RCAPIN,4,1)) 
FROM YOUR-TABLE

بعد ذلك ستتمكن من استخدام استبدال لهذا الحرف بدلاً من المساحة الفارغة:

select replace(RCAPIN,chr(9))
FROM YOUR-TABLE

حاول استخدام NULL بدلاً من سلسلة فارغة.أي.استبدال (RCAPIN، ' '، NULL)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top