MySQL - كيفية تحديد البيانات حسب طول السلسلة
-
18-09-2019 - |
سؤال
SELECT * FROM table ORDER BY string_length(column);
هل هناك وظيفة MySQL للقيام بذلك (بالطبع بدلا من string_length
)?
المحلول
أنت تبحث عن CHAR_LENGTH()
للحصول على عدد الأحرف في سلسلة.
للحصول على charsets متعددة البايت LENGTH()
سوف أعطيك عدد البايتات التي تحتل السلسلة، في حين CHAR_LENGTH()
سيعود عدد الأحرف.
نصائح أخرى
select * from table order by length(column);
الوثائق على وظيفة الطول ()، وكذلك جميع وظائف السلسلة الأخرى، متاحة هنا.
إلقاء نظرة على وثائق mysql لوظائف السلسلة، يمكننا أيضا استخدام CHAR_LENGTH()
و CHARACTER_LENGTH()
كذلك.
الوظيفة التي أستخدمها للعثور على طول السلسلة length
, ، تستخدم على النحو التالي:
SELECT * FROM table ORDER BY length(column);
لقد استخدمت هذه الجمل لتصفية
SELECT table.field1, table.field2 FROM table WHERE length(field) > 10;
يمكنك تغيير 10 لعدد آخر تريد تصفية.
اختر من اسم الطاولة حيث 1 لها طول (اسم الحقل)=طول الميدان
مثال إذا كنت ترغب في الاختيار من بين العملاء الإدخال باستخدام اسم أقصر ثم 2 حرف.
حدد * من العميل حيث 1 وجود طول (الاسم) <2