منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الحلقة الثالثة: الجديد في السيكوال سيرفر 2012 شرح دالة ال Format
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم اخواني الكرام ارجوا من استاذي الكريم كلكامش الالكتروني ان يلحق هذا الدرس بسلسلة حلقاتة التي تتكلم عن الجديد في ال SQL Server 2012
اقدم لكم بموضوع عن دالة جديدة ومهمة يقدمها لنا ال 2012SQL server
وهي كيفية تنسيق التاريخ او البيانات الرقمية بالشكل الذي نريد مع امكانيات رائعه
هذة الدالة تدعى ال Format وهي من الدوال المهمة في كيفية تقسيم وتصنيف التاريخ او القيم الرقمية بالشكل الذي نريدة اما الصيغة التي تكتب بها هذة الدالة هي كالتالي
FORMAT (value, format [, culture])
لنتعرف على كل براميتر تريدة الدالة لعمل

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

PHP كود :
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)] 

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



شاهدوا المثال التالي في كيفية تنسيق الوقت
PHP كود :
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)] 

مثال اخر

PHP كود :
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 (#)] 

[FONT=&amp]مثال اخر اخواني للتعامل مع المسائل المالية[/FONT]

[TABLE]
[TR]
[TD]
PHP كود :
DECLARE @CURRENCY MONEY '24500.50';
SELECT FORMAT (@CURRENCY'C') AS [RESULT

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



مثال اخر لنرى ابداع هذة الدالة الجديدة
[/TD]
[/TR]
[TR]
[TD="colspan: 2"][/TD]
[/TR]
[/TABLE]
PHP كود :
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






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

PHP كود :
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 او الثقافة

PHP كود :
SET LANGUAGE 'ENGLISH' 
SELECT FORMAT (245000'C') AS [Currency]SELECT FORMAT (GETDATE(),'D') AS [DATE]
SELECT FORMAT (24500.282'#,###,###0.00') AS [Currency



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

وفي النهاية لايسعنا الا ان نقول كم انت كبير يا SQL
سلامي لكم وهذا المقال حصرياً لمنتديات الفجول بيسك لكل العرب اتمنى العودة
لكتابة المقالات بعد مرور فترة الزواج ان شاء الله
اراكم على خير ان شاء الله دعواتكم اخواني لو اعجبكم المثال
عاشت الايادي ,موضوع حلو ..................................................
انت الاحلى حبيبي ياطيب منور
نسخة sql 2012 اللي انت بتعمل عليها هل هي الـ Express
لأن لدي نسخة Express وأريد تنصيبها إذا كان لديك أي نصائح تقدمها لي قبل عملية التنصيب (فمثلا بيقولوا لا تنصب الفيجوال استديوا قبل SQL server ) نصائح من ذلك القبيل Smile
لايوجد اختلاف اخي في اسبقية التنصيب

النسخة التي اعمل عليها ال Developer

بارك الله فيك
عاشت ايدك حبيبي عمر بارك الله بك حلقة مميزة
كلكامش الألكتروني كتب :عاشت ايدك حبيبي عمر بارك الله بك حلقة مميزة

انت العايش تسلم على المرور استاذنا الكريم