جديد ال SQL 2012 دالة ال Format

قدم لكم موضوع جديد وهو شرح لدالة جديدة ومهمة يقدمها لنا ال SQL Server 2012
وهي كيفية تنسيق التاريخ او البيانات الرقمية بالشكل الذي نريد مع امكانيات رائعه
هذة الدالة تدعى ال Format وهي من الدوال المهمة في كيفية تقسيم وتصنيف التاريخ او القيم الرقمية بالشكل الذي نريدة اما الصيغة التي تكتب بها هذة الدالة هي كالتالي

FORMAT (value, format [, culture])

لنتعرف على كل براميتر تريدة الدالة لعمل

  1. خاصية ال Value وهي تعني القيمة الرقمية التي سوف نقوم بتشكيلها وتكون اما تاريخ او رقم
  2. اما ال format فهي تعني الصيغة التي سوف تشكل فيها القيمة الرقمية
  3. وهو خيار اختياري مهم لمعرفة culture الثاقفة التي سوف يبنى عليها التاريخ او القيمة الرقمية (( مهمة جدا)) وميزة رائعه وسوف نتعرف عليها بالامثلة

تابعوا الامثلة

DECLARE @Date AS datetime=Getdate()
Select @Date AS [DATE]
SELECT FORMAT (@Date, ‘dd/MM/yyyy’) as [Result (dd/MM/yyyy)]
SELECT FORMAT (@Date, ‘MM/dd/yyyy’) as [Result (MM/dd/yyyy)]
SELECT FORMAT (@Date, ‘yyyy/MM/dd’) as [Result (yyyy/MM/dd)]

كما في الصورة التالية

شاهدوا المثال التالي في كيفية تنسيق الوقت

DECLARE @TIME AS DATETIME=Getdate()
Select @TIME AS [TIME]SELECT FORMAT (@TIME, ‘h:mm:ss tt’) as [Result (h:mm:ss tt)]
SELECT FORMAT (@TIME, ‘hh:mm:ss tt’) as [Result (hh:mm:ss tt)]
SELECT FORMAT (@TIME, ‘h:mm:ss’) as [Result (h:mm:ss)]
SELECT FORMAT (@TIME, ‘hh:mm:ss’) as [Result (hh:mm:ss)]

مثال اخر

DECLARE @NUMBER AS NUMERIC(18,4)=12345.789
Select
@NUMBER as [NUMBER]
SELECT FORMAT (@NUMBER, ‘####0.00’) as [Result (####0.00)]
SELECT FORMAT (@NUMBER, ‘####0.000’) as [Result (####0.000)]
SELECT FORMAT (@NUMBER, ‘##,##0.00’) as [Result (##,##0.00)]
SELECT FORMAT (@NUMBER, ‘#’) as [Result (#)]

مثال اخر  للتعامل مع المسائل المالية

 

كود PHP:
DECLARE @CURRENCY MONEY = ‘24500.50’;
SELECT FORMAT (@CURRENCY, ‘C’) AS [RESULT]

حيث ان حر ف C يعني العملة لاحظ الصورة التالية

مثال اخر لنرى ابداع هذة الدالة الجديدة

DECLARE @Date AS datetime=Getdate()

Select @Date as [DATE]
SELECT FORMAT ( @Date,‘dddd, MMMM dd, yyyy hh:mm:ss tt’,‘en-US’)

AS [English Culture]

SELECT FORMAT ( @Date,‘dddd, MMMM dd, yyyy hh:mm:ss tt’,‘de-DE’)
AS [
German Culture]

SELECT FORMAT ( @Date,‘dddd, MMMM dd, yyyy hh:mm:ss tt’,‘ja-JP’)

AS [Japanese Culture]

SELECT FORMAT ( @Date,‘dddd, MMMM dd, yyyy hh:mm:ss tt’,‘ar-SA’)
AS [
Arabic Culture]

SELECT FORMAT ( @Date,‘dddd, MMMM dd, yyyy hh:mm:ss tt’,‘ur-PK’)

AS [Urdu Culture]

او كما في الكود الاخير والذي فية سوف اصنف الرقم المالي المعطى حسب الثقافات الخاصة بالبلدان

DECLARE @CURRENCY MONEY = ‘24500.50’;
SELECT FORMAT (@CURRENCY, ‘C’,‘en-US’ ) AS [English Culture]

SELECT FORMAT (@CURRENCY, ‘C’,‘de-DE’ ) AS [German Culture]
SELECT FORMAT (@CURRENCY, ‘C’,‘ja-JP’ ) AS [Japanese Culture]

SELECT FORMAT (@CURRENCY, ‘C’,‘ar-SA’ ) AS [Arabic Culture]
SELECT FORMAT (@CURRENCY, ‘C’, ‘ur-PK’ ) AS [Urdu Culture

او كما في المثال الاخير الذي سوف نصنف فية النتائج بناء على اللغة بدلا@ من الCulther او الثقافة

SET LANGUAGE ‘ENGLISH’
SELECT FORMAT (245000, ‘C’) AS [Currency]SELECT FORMAT (GETDATE(),‘D’) AS [DATE]
SELECT FORMAT (24500.282, ‘#,###,###0.00’) AS [Currency]

جربوا ان تغيروا اللغة ال Arabic

Advertisements

3 thoughts on “جديد ال SQL 2012 دالة ال Format”

  1. اعتقد انو الكود اعلاه مايغير التنسيق
    تغيير التنسيق يتم عن طريق set format
    وياريت تذكرنه طريقة التغيير

شاركنا بارد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s