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

यूआरएल से डोमेन निकालने के लिए मैसकल क्वेरी

मुझे पिछले कुछ उत्तरों को मिलाना था, साथ ही मेरे डेटा सेट के लिए थोड़ी और हैकरी भी। यह वही है जो मेरे लिए काम करता है, यह डोमेन और किसी भी उप-डोमेन को लौटाता है:

SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(target_url, '/', 3), '://', -1), '/', 1), '?', 1) AS domain

स्पष्टीकरण (गैर-तुच्छ एसक्यूएल शायद ही कभी समझ में आता है):

SUBSTRING_INDEX(target_url, '/', 3) - यदि url में प्रोटोकॉल है तो किसी भी पथ को हटा देता है
SUBSTRING_INDEX(THAT, '://', -1) - THAT
SUBSTRING_INDEX(THAT, '/', 1) से किसी भी प्रोटोकॉल को हटा देता है - उस से किसी भी पथ को हटा देता है (यदि कोई प्रोटोकॉल नहीं था)
SUBSTRING_INDEX(THAT, '?', 1) - क्वेरी स्ट्रिंग को उस से हटा देता है (यदि कोई पथ या अनुगामी / नहीं था)

परीक्षण के मामले:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(target_url, '/', 3), '://', -1), '/', 1), '?', 1) AS domain
FROM ( 
    SELECT       'http://test.com' as target_url 
    UNION SELECT 'https://test.com' 
    UNION SELECT 'http://test.com/one' 
    UNION SELECT 'http://test.com/?huh' 
    UNION SELECT 'http://test.com?http://ouch.foo' 
    UNION SELECT 'test.com' 
    UNION SELECT 'test.com/one'
    UNION SELECT 'test.com/one/two'
    UNION SELECT 'test.com/one/two/three'
    UNION SELECT 'test.com/one/two/three?u=http://maaaaannn'
    UNION SELECT 'http://one.test.com'
    UNION SELECT 'one.test.com/one'
    UNION SELECT 'two.one.test.com/one' ) AS Test; 

परिणाम:

'test.com'
'test.com'
'test.com'
'test.com'
'test.com'
'test.com'
'test.com'
'test.com'
'test.com'
'test.com'
'one.test.com'
'one.test.com'
'two.one.test.com'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डॉकर:कई छवियों को मिलाएं

  2. संग्रहीत कार्यविधि फ़ंक्शन में गतिशील तालिका नाम

  3. सम्मिलित करें ... डुप्लीकेट कुंजी पर (कुछ न करें)

  4. PHP / MySQL में विशेष वर्ण

  5. एसक्यूएल में 'लिमिट' पैरामीटर कैसे काम करता है?