2009-06-26 9 views
12

मैं एक छोटे से परियोजना के लिए कुछ नई सुविधाएं जोड़ रहा हूँ मैं पर काम कर रहा हूँ और उनमें से एक अल्फा पृष्ठांकन जोपंक्तियों लायें जहां पहले चरित्र अक्षरांकीय

तरह

# 0-9 ABCDE लग रहा है नहीं है .. । XYZ

एक

मैं आसानी से की तरह

SELECT * FROM ... WHERE name LIKE 'A%' ... 

समूहन सब कुछ है कि एक नंबर और सभी अन्य पात्रों के साथ शुरू होता है उनकी पहली पत्र कुछ का उपयोग करके आइटम लाने कर सकते हैं थोड़ा और मुश्किल, मुझे लगता है कि इसे MySQLs REGEXP का उपयोग करना होगा।

बस स्पष्ट होना, मैं दो प्रश्नों जो सभी पंक्तियों जहां

  • एक स्तंभ का पहला वर्ण संख्यात्मक है लायेगा बनाने मदद की ज़रूरत है
  • एक स्तंभ का पहला वर्ण अक्षरांकीय नहीं है

उत्तर

33

प्रथम चरित्र संख्यात्मक है:

SELECT * FROM ... WHERE name REGEXP '^[0-9]'; 

पहले charact एर अक्षरांकीय नहीं है:

SELECT * FROM ... WHERE name REGEXP '^[^0-9A-Za-z]'; 

(ध्यान दें कि यह NOT REGEXP ^[0-9A-Za-z] से अलग है, क्योंकि आप लगते ही जब वहाँ वास्तव में पहली बार एक चरित्र से मेल करना चाहते हैं।)

आप शायद कर सकते हैं [^0-9A-Za-z] के लिए विकल्प, लेकिन मैंने इसका परीक्षण नहीं किया है। निश्चित रूप से[[:digit:]][0-9] के लिए विकल्प कर सकते हैं, लेकिन यह अब लंबा है। :-)

MySQL REGEXP Reference भी देखें।

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