كيفية حذف
الكسور العشرية في SQL Server بدون تقريب
عند العمل مع القيم العشرية في SQL Server، قد تجد أحيانًا الحاجة إلى إدارة عدد الكسور العشرية في بياناتك. وظيفة ROUND
القياسية تقرب الرقم، مما قد لا يكون مناسبًا لجميع السيناريوهات. في هذا المنشور، سنستكشف كيفية حذف الكسور العشرية في SQL Server دون تقريبها.
المشكلة: التقريب مقابل الحذف
تخيل أن لديك قيمة عشرية مثل 123.456
، وتريد الاحتفاظ بها بدقة كسور عشرية تصل إلى اثنين. باستخدام طرق التقريب القياسية في SQL Server، سيتم ضبط القيمة تلقائيًا إلى 123.46
. ومع ذلك، هناك حالات تريد فيها فقط حذف الكسور الإضافية، مما يؤدي إلى 123.45
بدلاً من ذلك. هنا يصبح الحذف أمرًا ضروريًا.
دعنا نلقي نظرة سريعة على قيمة نموذجية:
DECLARE @value DECIMAL(18,2);
SET @value = 123.456;
بعد تنفيذ هذا الكود مع التقريب القياسي، ستصبح @value
123.46
. ولكن ماذا إذا كنت ترغب في الاحتفاظ بها كـ 123.45
؟
الحل: استخدام وظيفة ROUND
يوفر SQL Server وظيفة ROUND
القوية التي يمكن أن تساعدك في حذف الكسور العشرية. تتطلب الوظيفة ثلاثة معلمات:
- number: هذه هي القيمة العشرية التي ترغب في حذفها.
- decimals: حدد عدد الكسور العشرية التي ترغب في الاحتفاظ بها.
- operation: هذه اختيارية. قم بتعيين هذه المعلمة إلى
0
لتقريب النتيجة أو إلى أي قيمة أخرى (على سبيل المثال،1
) لحذفها.
مثال على الاستخدام
إليك كيف يمكنك استخدام وظيفة ROUND
بشكل فعال:
SELECT ROUND(123.456, 2, 1);
في هذه الحالة، استخدام 1
كالمعلمة الثالثة سيحذف القيمة إلى 123.45
، بدلاً من تقريبها.
التوافق
تعمل وظيفة ROUND
مع قدرات الحذف في البيئات التالية:
- SQL Server (بدءًا من الإصدار 2008)
- قاعدة بيانات Azure SQL
- مستودع بيانات Azure SQL
- مستودع البيانات المتوازي
للحصول على تفاصيل إضافية، يمكنك الرجوع إلى وثيقة W3Schools SQL Server ROUND.
الخلاصة
عن طريق استخدام وظيفة ROUND
مع المعلمات المناسبة، يمكنك بسهولة حذف الكسور العشرية في SQL Server دون تقريب القيم الخاصة بك. تضمن هذه الطريقة أن لديك تحكم دقيق في تقديم بياناتك، مما يحافظ علىintegrity والدقة المطلوبة لاحتياجات مشروعك المحددة.
لا تتردد في تجربة هذه التقنية في بيئة SQL Server الخاصة بك وتأكد من تنسيق بياناتك بالطريقة التي تحتاجها!