سؤال

Percentage Table

لدي بعض التعليمات البرمجية التي تضيف إدخالات من ملف .csv إلى قاعدة بيانات MySQL. أود أن أعرف نوع البيانات الذي يجب استخدامه لإضافة النسبة المئوية من ملف .CSV إلى عمود النسبة المئوية في جدول MySQL. حاولت مع عشري (على الرغم من أنني علمت أن هذا خطأ.) ، وحصلت على هذا الخطأ.

java.sql.BatchUpdateException: Incorrect decimal value: '8%' for column 'Percentage' at row 1
هل كانت مفيدة؟

المحلول

إذا كنت تريد تخزين مثل 80% ثم يجب أن يكون نوع البيانات varchar أو إذا كنت تريد فقط وضع 80.11 ثم نوع البيانات عشري الذي تستخدمه.

أود أن أقترح عليك الاحتفاظ بنمذ البيانات كما هو (عشري) لأنه بعد الاسترداد من قاعدة البيانات إذا كنت تريد بعض الحسابات ، فسيكون ذلك عبئًا إضافيًا لك. إذا كان ذلك سيكون varchar ثم أثناء استرداده ، فعليك الاحتفاظ به في السلسلة في Java. ثم عليك إزالته % ثم تحويل إلى تعويم ثم الحسابات.

نصائح أخرى

سوف يعمل العشري ، لكنك ستقوم بتخزين قيمة 8 ليس "8 ٪" والتي ستحتاج إلى أن تكون varchar (سلسلة).

إذا كان لديك الخيار ، فسأشجعك على تخزينه على أنه عشري (قم بإزالة الحرف المئوي) ثم قم بتنسيق الرقم لإظهاره مع علامة مئوية بعد استرداده من قاعدة البيانات. في هذه الحالة ، لا يزال بإمكانك استخدامه كنوع بيانات عشري ، وإلا يجب عليك استخدام سلسلة قائمة على السلسلة ، مثل Varchar.

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