جدولی بسازید یا جدول موجود را طوری تغییر دهید که ستون id به‌صورت INT(8) ZEROFILL تعریف شود، سپس چند رکورد درج و با دستور SELECT نشان دهید که ZEROFILL چگونه اعداد را با صفرهای پیشرو پر می‌کند.

2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:07

0.0

برای حل این مسئله می‌توانید از دستورات استاندارد MySQL استفاده کنید: CREATE TABLE users (id INT(8) ZEROFILL PRIMARY KEY, name VARCHAR(100)); یا برای تغییر جدول موجود از ALTER TABLE ... MODIFY COLUMN id INT(8) ZEROFILL استفاده کنید. چند INSERT انجام دهید و با SELECT مشاهده کنید که مقادیر id به طول 8 با صفرهای پیشرو نمایش داده می‌شوند؛ همچنین اطلاعات ستون را می‌توانید در INFORMATION_SCHEMA.COLUMNS بررسی کنید تا نوع ستون و نمایش آن را ببینید. نکات مفید: ZEROFILL فقط بر نمایش تأثیر می‌گذارد و بر محاسبات عددی تغییری ایجاد نمی‌کند، و هنگام استفاده از ZEROFILL ستون معمولاً به‌صورت UNSIGNED رفتار می‌کند. اگر نیاز به قالب‌بندی سفارشی دارید می‌توانید از توابعی مانند LPAD(id,8,'0') در عبارت SELECT استفاده کنید یا از ALTER TABLE برای بازگرداندن حالت قبلی بهره ببرید.

توسط پژوهشگر در 220 روز قبل ساعت 02:07
دسته بندی ها: MySQL MySQL for beginner
sara در 220 روز قبل ساعت 10:53

ZEROFILL فقط روی نمایش اعداد اثر دارد و مقدار واقعی ستون را تغییر نمی‌دهد؛ برای قالب‌بندی خروجی می‌توانید از LPAD(id, 8, '0') در SELECT استفاده کنید. در نسخه‌های جدید MySQL، عرض نمایش INT(8) و گزینه ZEROFILL ممکن است منسوخ یا نادیده گرفته شوند، بنابراین قبل از استفاده نسخه را بررسی کنید. عموماً ستون با ZEROFILL به صورت UNSIGNED رفتار می‌کند ولی به محاسبه‌های عددی هیچ تغییری نمی‌دهد. برای دیدن نحوه نمایش ستون در دیتابیس، می‌توانید از INFORMATION_SCHEMA.COLUMNS استفاده کنید تا نوع و مشخصات نمایش را بررسی کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری