سؤال

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top