Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एसक्यूएल/रेगेक्स चैलेंज/पहेली:एसक्यूएल कोड से टिप्पणियों को कैसे हटाएं (एसक्यूएल क्वेरी का उपयोग करके)?

समाधान

टेराडेटा

with t (txt) as 
(
select     '
            select    /* comment /* yada yada yada /* / // bla bla bla  
                        1
                                    */ t1.i
                   ,''"SRC''''"''    as "This''is''the
                                ''source"

            from      t1 /* "Comment 2" - '' */ cross join t2 -- /* comment 3 */

            where     t2.v = ''/*DST"*
                                /'' -- comment 4'
)

select    regexp_replace (txt,'(''.*?''|".*?")|/\*.*?\*/|--.*?(?=[\r\n]|$)','\1',1,0,'n')     as clean_txt

from      t
;

ओरेकल

with t (txt) as 
(
select     '
            select    /* comment /* yada yada yada /* / // bla bla bla  
                        1
                                    */ t1.i
                   ,''"SRC''''"''    as "This''is''the
                                ''source"

            from      t1 /* "Comment 2" - '' */ cross join t2 -- /* comment 3 */

            where     t2.v = ''/*DST"*
                                /'' -- comment 4'

from        dual
)

select    regexp_replace (txt,'(''.*?''|".*?")|/\*.*?\*/|--.*?(?=$|\Z)','\1',1,0,'nm')

from      t
;

परिणाम

            select     t1.i
                   ,'"SRC''"'    as "This'is'the
                                'source"

            from      t1  cross join t2 

            where     t2.v = '/*DST"*
                                /'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql में केस कंडीशनल स्टेटमेंट के साथ योग कैसे काम करता है?

  2. sql . में संघ खंड

  3. जहां सशर्त (डायनेमिक क्वेरी) या अस्पष्ट मान के बिना रेडीस्टेटमेंट शून्य है

  4. Oracle में नंबर कैसे फ़ॉर्मेट करें

  5. नेस्टेड तालिका में RowId मान शामिल करें