خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
جدا کردن بخشی از تاریخ از تابع datetime در SQL Server
در SQL Server روش های مختلفی بری نمایش تاریخ از دیتاتایپ DateTime وجود دارد. مثلا شما در حین کدنویسی و کوئری نویسی در SQL سرور نیاز به استخراج تاریخ کامل از یک ستون یا بخشی از تاریخ دارید. از این رو در این پست تصمیم داریم به شما دوستان روش استخراج بخشی از تاریخ از Datetime را بررسی کنیم.
در هر دو حالت که با استفاده از Cast و Convert، از date استفاده کردیم، در همه حالات، خروجی کوئری ها مشابه بود.
On SQL Server 2008 And Higher
در SQL Server 2008، مایکروسافت دیتاتایپ date را معرفی کرد. این نوع دیتاتایپ فقط قسمت تاریخ (روز ، ماه و سال) را ذخیره می کند.شما می توانید به همراه date، از CONVERT و همین طور CAST برای استخراج بخشی از تاریخ هم استفاده کنید.Using CAST
/* Extract date part from datetime */
Declare @MyDateAndTime as datetime
Set @MyDateAndTime = '2017-12-15 10:45:56.923'
SELECT @MyDateAndTime
SELECT CAST(@MyDateAndTime As date)
GO
/* Extract date part from datetime2 */
Declare @MyDateAndTime2 as datetime2
Set @MyDateAndTime2 = '2017-12-16 11:15:23.2393473'
SELECT @MyDateAndTime2
SELECT CAST(@MyDateAndTime2 As date)
GO
Using CONVERT
/* Extract date part from datetime */
Declare @MyDateAndTime as datetime
Set @MyDateAndTime = '2017-12-15 10:45:56.923'
SELECT @MyDateAndTime
SELECT CONVERT(date, @MyDateAndTime)
GO
/* Extract date part from datetime2 */
Declare @MyDateAndTime2 as datetime2
Set @MyDateAndTime2 = '2017-12-16 11:15:23.2393473'
SELECT @MyDateAndTime2
SELECT CONVERT(date, @MyDateAndTime2)
GO
در هر دو حالت که با استفاده از Cast و Convert، از date استفاده کردیم، در همه حالات، خروجی کوئری ها مشابه بود.
On SQL Server 2005 And Older
در SQL Server 2005 و نسخه قبلی آن، هیچ دیتاتایپی از نوع date وجود ندارد. برای جدا کردن بخشی از تاریخ، باید دست به دامن روش های دیگری در کوئری ها شویم.Using DATEADD And DATEDIFF
یكی از روشهای متداول برای بدست آوردن قسمتی از تاریخ استفاده از DATEADD به همراه DATEDIFF برای حذف قسمت زمانی متغیر است. به عنوان مثال:Declare @MyDateAndTime as datetime
Set @MyDateAndTime = '2017-12-15 10:45:56.923'
SELECT @MyDateAndTime
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, @MyDateAndTime))
By Converting To Varchar
یکی از روش های محبوب، Convert کردن datetime به Varchar با Style code 101 می باشد که قسمت تاریخ را با فرمت mm / dd / yyyy باز می گرداند.Declare @MyDateAndTime as datetime
Set @MyDateAndTime = '2017-12-15 10:45:56.923'
SELECT @MyDateAndTime
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, @MyDateAndTime))
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: