English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

كيفية ترتيب حقل varchar بناءً على الرقم في MySQL؟

'LPAD(lower(column_name))' يستخدم في MySQL لترتيب الحقول varchar بشكل رقمي. دعونا نرى مثالاً.

أولاً، سنقوم بإنشاء جدول. أمر CREATE يستخدم لإنشاء الجداول.

mysql> create table SortingvarcharDemo
   -> (
   -> List varchar(10)
   -> );

مدارک با کمک دستور INSERT وارد شده‌اند.

mysql> insert into SortingvarcharDemo values("99");
mysql> insert into SortingvarcharDemo values("9");
mysql> insert into SortingvarcharDemo values("199");
mysql> insert into SortingvarcharDemo values("1");
mysql> insert into SortingvarcharDemo values("999");
mysql> insert into SortingvarcharDemo values("78");

برای نمایش مدارک، از دستور select استفاده کنید.

mysql> select * from SortingvarcharDemo;

این خروجی است.

+------+
| لیست |
+------+
| 99   |
| 9    |
| 199  |
| 1    |
| 999  |
| 78   |
+------+
6 ردیف در مجموعه (0.05 ثانیه)

در خروجی بالا، لیست به ترتیب مرتب نشده است - آن به ترتیب افزایشی یا کاهشی نیست.

برای مرتب کردن اعداد به ترتیب افزایشی یا کاهشی، از نحوه زیر استفاده کنید.

SELECT * FROM yourTableName ORDER BY LPAD(lower(Column_name), value1, values2) asc;

در زیر جستجو آورده شده است.

mysql> SELECT * FROM SortingvarcharDemo ORDER BY LPAD(lower(List), 6, 0) asc;

این خروجی است.

+------+
| لیست |
+------+
| 1    |
| 9    |
| 78   |
| 99   |
| 199  |
| 999  |
+------+
6 ردیف در مجموعه (0.17 ثانیه)

در اینجا، نتایج به ترتیب افزایشی مرتب شده‌اند.

سيحبك هذا