2013-03-11 6 views
10

के साथ समाप्त होता है मेरे पास एक कॉलम url है जहां सभी मान यूआरएल हैं। मैं एक अलग कॉलम के मान को अपडेट करने का प्रयास कर रहा हूं, जहां पहले उल्लिखित यूआरएल .pdf के साथ समाप्त होता है।MySQL: पंक्तियों को खोजें जहां कॉलम मान एक विशिष्ट सबस्ट्रिंग

क्या कोई इस से मेरी सहायता कर सकता है? मुझे SO पर यहां कोई जवाब नहीं मिला है।

+1

आप 'दाएं()' फ़ंक्शन –

उत्तर

19

मैं oversimplifying हो सकता है ... लेकिन आपके विवरण के आधार पर, LIKE आपकी समस्या का समाधान होगा?

UPDATE YourTable 
SET DifferentColumn = 'NewValue' 
WHERE Url LIKE '%.pdf' 
+0

का उपयोग कर सकते हैं, मुझे लगता है कि यह होगा, केवल एक चीज यह है कि तालिका बहुत बड़ी है (कई मिलियन रिकॉर्ड) और जैसा कि शायद कुछ समय लगेगा। मैं उम्मीद कर रहा था कि माइस्क्ल में कुछ प्रकार के मूल स्ट्रिंग फ़ंक्शंस थे, लेकिन ऐसा लगता है कि मैं पसंद के साथ फंस गया हूं ... – Phil

+0

अच्छा, यह काम करता है, और यह भी लंबा नहीं लेता है, इसलिए धन्यवाद :-) – Phil

+0

@ फिल जिस मूल कार्य को आप ढूंढ रहे हैं वह है 'दाएं() ' –

0

तो यह लगता है कि आप देख रहे हैं की तरह like पैरामीटर के लिए।

उदाहरण के लिए

:

SELECT column(s) FROM table WHERE URL LIKE '%.pdf' 

या आप कुछ भी कह रही है पहले .pdf htis मामला है की तरह है

UPDATE table SET column = value, ..., WHERE URL LIKE '%.pdf' 

% के साथ अद्यतन कर सकते हैं।

उम्मीद है कि इससे मदद मिलती है।

7

आप एक अग्रणी वाइल्डकार्ड के साथ एक LIKE स्थिति का उपयोग कर सकते हैं। %.pdf का मतलब स्तंभ .pdf

UPDATE mytable 
SET newcolumn = 'PDF found' 
WHERE yourcolumn LIKE '%.pdf' 

में समाप्त होना चाहिए वैकल्पिक रूप से आप right() समारोह

UPDATE mytable 
SET newcolumn = 'PDF found' 
WHERE right(yourcolumn,4) = '.pdf' 
2

इस्तेमाल कर सकते हैं अपने कहां खंड में, ब्याज की रिकॉर्ड की पहचान करने के LOCATE('.pdf',url) > 0 की तरह कुछ का उपयोग करें।

के रूप में कहे अनुसार, इस आप किसी भी यूआरएल है कि स्ट्रिंग में '.pdf' शामिल ...

आप निश्चित रूप से '.pdf' अंत में होना चाहते हैं, तो आप भी कोशिश कर सकते हैं दे देंगे:

LOWER(RIGHT(url,4)) = '.pdf'

मैं कम या ऊपरी का उपयोग किसी भी मामले मुद्दों से निपटने के लिए होगा।

आप LIKE %.pdf (फिर से, ऊपरी/निचले मामले के मुद्दों के लिए देखें) का उपयोग कर सकते हैं जैसा कि दूसरों द्वारा सुझाया गया है।

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