के साथ शुरू मैं एक स्तंभ डेटा है कि संख्या के साथ भी शुरू युक्त के साथ एक मेज है, MySQLमूल्यों का चयन करें कि एक नंबर
पर मैं पंक्तियों को एक संख्या के साथ ही शुरू हो का चयन कैसे कर सकते हैं?
के साथ शुरू मैं एक स्तंभ डेटा है कि संख्या के साथ भी शुरू युक्त के साथ एक मेज है, MySQLमूल्यों का चयन करें कि एक नंबर
पर मैं पंक्तियों को एक संख्या के साथ ही शुरू हो का चयन कैसे कर सकते हैं?
SELECT * FROM YourTable WHERE YourColumn regexp '^[0-9]+'
+1 तक सीमित है (मुझे नहीं लगता कि' LIKE 'RegEx का समर्थन करता है (जैसा @RedFilter) ने निहित किया है)। हालांकि, मैं संभवतः एक पैटर्न के रूप में '^^[0-9] +' 'का उपयोग करता हूं। –
'%' regexp के साथ काम नहीं करता है। यह इस तरह के साथ काम करता है। – codaddict
@Brad: नियमित अभिव्यक्ति के लिए अच्छा बिंदु, मैं अपडेट करूँगा :) – Sarfraz
आप कर सकते हैं:
SELECT *
FROM MyTable
WHERE MyColumn REGEXP '^[0-9]';
नियमित इस्तेमाल किया अभिव्यक्ति ^[0-9]
है।
^ - Start anchor, used to ensure the pattern matches start of the string.
[ - Start of character class.
0-9 - Any digit
] - End of character class
प्रभावी रूप से हम कॉलम में उन मूल्यों का चयन करने के कि अंक के के साथ शुरू कर रहे हैं।
डेमो:
mysql> select * from tab;
+-------+
| col |
+-------+
| 1foo |
| foo |
| 10foo |
| foo10 |
+-------+
4 rows in set (0.00 sec)
mysql> select * from tab where col regexp '^[0-9]';
+-------+
| col |
+-------+
| 1foo |
| 10foo |
+-------+
2 rows in set (0.00 sec)
भी
SELECT * FROM YourTable
WHERE YourColumn LIKE '[0-9]%';
'से चुनें * कलाकारों से \ 'कलाकार \' कलाकार \ 'कलाकार \' जैसे '[0-9]%' 'रिक्त रिटर्न के बदले में भीड़ का उपयोग कर सकते हैं। – akinuri
MySQL की 'like' ऐसे पैटर्न का समर्थन नहीं करता है। इसके लिए आपको 'regexp' का उपयोग करना होगा। उदा .: 'चुनें * फू से जहां बार REGEXP'^[0-9] ''। https://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html –
फिर भी एक और तरीका है:
WHERE LEFT(columnName,1) IN ('0','1','2','3','4','5','6','7','8','9')
और आम वर्णसेट और collations के साथ, यह काम करते हैं और स्तंभ पर एक सूचकांक का प्रयोग करेंगे:
WHERE columnName >= '0' AND columnName < ':'
SELECT * FROM TABLE T
WHERE T.COLUMNNAME REGEXP '^[0-9]';
एक और जवाब है:
SELECT * FROM TABLE T
WHERE T.COLUMNNAME RLIKE '^[0-9]';
"' RLIKE REGEXP' के लिए समानार्थी है " –
कैसे [का पता लगाने अगर मूल्य MySQL में संख्या है] के लिए पर इस सूत्र (https://stackoverflow.com/q/5064977/1366033) के रूप में एक ही सामान्य भावना, लेकिन केवल 'REGEXP' के लिए पहले char – KyleMit