خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
تغییر فرمت نمایش Date در ORDER BY
تابع CONVERT در SQL Server میتواند فرمت نمایش تاریخ را به اشکال مختلفی از جمله MM/dd/yyy, dd/MM/yyy, yyy/MM/dd نشان دهد. اما آیا تا به حال به این مورد دقت کرده اید که مجموع نتایج در صورت استفاده از Alias name آن در ORDER BY متفاوت خواهد بود؟
من با استفاده از دستور زیر اقدام به ایجاد یک Table در دیتابیس tempdb خواهم کرد و در ادامه با استفاده از اسکریپت های SQL چند رکورد را بدان جدول اضافه خواهم کرد:
حال در Select زیرکه ستون dob که تاریخ و ساعت در آن ذخیره شده، اجرا می شود و به نتایج ستون do دقت کنید:
حال به خروجی دستور دقت کنید:
اکنون با همین دستور Select فرمت نمایش ستون dob را بصورت MM/dd/yyyy خواهیم کرد. لطفا به دستور زیر دقت کنید:
خروجی دستور:
اگر به Result فوق دقت کنید، می توانید مشاهده کنید که نتیجه بر اساس DOB به عنوان مقادیر Date واقعی نیست، اما به عنوان VARCHAR فرمت شده است. دلیل آن است که dob به عنوان نام مستعار یا Alias name برای فرمت Date استفاده می شود و زمانی که در ORDER BY ارجاع شود، به جای استفاده از داده های اصلی در DATE در پایگاه داده، از مقادیر فرمت شده در VARCHAR استفاده می کند.
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
من با استفاده از دستور زیر اقدام به ایجاد یک Table در دیتابیس tempdb خواهم کرد و در ادامه با استفاده از اسکریپت های SQL چند رکورد را بدان جدول اضافه خواهم کرد:
USE tempdb
GO
CREATE TABLE customer_master
(
customer_id INT,
customer_name VARCHAR(100),
dob DATETIME
);
INSERT INTO customer_master (customer_id,customer_name,dob)
SELECT 10001,'Johnson','1992-10-19' UNION ALL
SELECT 10002,'Peter','1957-03-22' UNION ALL
SELECT 10003,'Clara','1981-12-15' UNION ALL
SELECT 10004,'Medalyn','1966-02-18' UNION ALL
SELECT 10005,'Sara','1959-10-16' ;
حال در Select زیرکه ستون dob که تاریخ و ساعت در آن ذخیره شده، اجرا می شود و به نتایج ستون do دقت کنید:
SELECT customer_id,customer_name,dob
FROM customer_master
ORDER BY dob
حال به خروجی دستور دقت کنید:
اکنون با همین دستور Select فرمت نمایش ستون dob را بصورت MM/dd/yyyy خواهیم کرد. لطفا به دستور زیر دقت کنید:
SELECT customer_id,customer_name,CONVERT(VARCHAR(10),dob,101) AS dob
FROM customer_master
ORDER BY dob
خروجی دستور:
اگر به Result فوق دقت کنید، می توانید مشاهده کنید که نتیجه بر اساس DOB به عنوان مقادیر Date واقعی نیست، اما به عنوان VARCHAR فرمت شده است. دلیل آن است که dob به عنوان نام مستعار یا Alias name برای فرمت Date استفاده می شود و زمانی که در ORDER BY ارجاع شود، به جای استفاده از داده های اصلی در DATE در پایگاه داده، از مقادیر فرمت شده در VARCHAR استفاده می کند.
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: