12
نوفمبر

دوال متنوعة في MySQL

في هذه المقالة سأتطرق إلى البعض من دوال MySQL في مجالات مختلفة وهي (المجالات):

  • Formatting.
  • Cast.
  • System.

دوال التنسيق (Formatting):

سنستعرض معاً كلّ من الدوال التالية:

  • format.
  • inet_aton.
  • inet_ntoa.

الدالة format

تستخدم format لتنسيق الأعداد، وتأخذ باراميترين:

  1. العدد.
  2. الفاصلة العشرية المتاحة للعدد.

تقوم format بفصل كل 3 أرقام من العدد بـ “كوما” (,) أمثلة على استخدامها:

1
2
SELECT format(146587.9414, 2); #Result: 146,587.94
SELECT format(126747, 0); #Result: 126,747

الدالة inet_aton

تقوم هذه الدالة بتحويل عنوان IP إلى الصيغة العشرية (Decimal):

SELECT inet_aton('192.168.0.1');

الدالة inet_ntoa:

تقوم هذه الدالة بتحويل الصيغة العشرية (Decimal) إلى عنوان IP:

SELECT inet_ntoa('986747177'); #Result: 58.208.145.41

دالة cast لتبديل النوع

تستخدم هذه الدالة للتحويل من وإلى أنواع مختلفة من البيانات وهي:

  • binary.
  • char.
  • date.
  • datetime.
  • integer (signed).
  • time.
  • integer (unsinged).

يمكن التبديل بين أنواع البيانات بشكل مباشر كما يلي:

SELECT 1 + "1"; #Result: 2
SELECT 'f' = binary 'F'; #Result: 0

باستخدام cast يمكننا التبديل بين أنواع البيانات بشكل سلس وواضح، أمثلة:

1
2
3
SELECT 1 + cast("1" as signed integer); #Result: 2
SELECT cast( now() as signed integer); #تحويل التاريخ إلى عدد عشري
SELECT cast( 20110401093102 as datetime); #تحويل العدد العشري إلى تاريخ ووقت

دوال النظام System Functions

  • database: يعيد اسم قاعدة البيانات المستخدمة حالياً.
SELECT database();
  • benchmark: تستخدم هذه الدالة كمعيار لتقييم النظام. حيث يتم تنفيذ أوامر MySQL لمدة n مرة، مثال:
SELECT BENCHMARK(1000000, ENCODE('hello','goodbye'));

في المثال أعلاه يتم تشفير الجملة hello لمدة مليون مرة. في جهازي يظهر الناتج كما يلي:

/* 0 rows affected, 1 rows found. Duration for 1 query: 7.567 sec. */

عن طريق الناتج أعلاه يمكننا تقييم النظام (فاعلية النظام).

  • connection_id: يعيد رقم اتصال العميل بالملقم.
SELECT connection_id();
  • user: يعيد اسم المستخدم الحالي.
SELECT user(); #Result: root@locahost
  • version: يعيد إصدار MySQL.
SELECT version(); #Result: 5.1.33-community
  • found_rows: يعيد مجموع صفوف (Rows) آخر عملية SELECT:
1
2
SELECT version();
SELECT found_rows(); #Result: 1

أستودعكم الله وعلى أمل اللقاء في مقالة أخرى .. :-)

<code><span class="sql1-reservedword">SELECT</span><span class="sql1-function">version</span><span class="sql1-symbol">();</span><span class="sql1-comment">#Result: 5.1.33-community
</span></code>

لا يوجد تعليقات

لا يوجد تعليقات حتى الان.

تعليقك على الموضوع

خلاصات التعليقات RSS   التعقيبات

جميع الحقوق محفوظة لـ مدونة أحمد المياحي © 2017