دوستان کسی میدونه چطوری میشه کل تاریخ های ثبت شده در دیتا بیس SQL رو از شمسی به میلادی تبدیل کرد؟؟ یا راهی روشی چیزی میتونید پیشنهاد بدین ؟
سلام
فانکشن زیر را اجرا کن
CREATE FUNCTION [dbo].[GregorianDate] ( @ADate VARCHAR(10) ) RETURNS INT AS BEGIN DECLARE @BaseDate INT DECLARE @LongYearCounter FLOAT DECLARE @BaseYear INT DECLARE @PersianYear INT DECLARE @PastYears INT DECLARE @LongYearNum INT DECLARE @PersianMonth INT DECLARE @PersianDay INT DECLARE @TotalDay INT SET @BaseDate = -11243 SET @BaseYear = 1248 SET @LongYearCounter = 4.1290322580645161290322580645161 SET @PersianYear = CAST(SUBSTRING(@ADate, 1, 4) AS INT) SET @PersianMonth = CAST(SUBSTRING(@ADate, 6, 2) AS INT) SET @PersianDay = CAST(SUBSTRING(@ADate, 9, 2) AS INT) SET @PastYears = @PersianYear - @BaseYear SET @LongYearNum = FLOOR(( @PastYears + 0.9 ) / @LongYearCounter) IF @PersianMonth <= 6 SET @TotalDay = ( @PastYears * 365 ) + ( ( @PersianMonth - 1 ) * 31 ) + @PersianDay - 1 ELSE SET @TotalDay = ( @PastYears * 365 ) + ( ( @PersianMonth - 1 ) * 30 ) + 6 + @PersianDay - 1 SET @TotalDay = @TotalDay + @LongYearNum SET @BaseDate = @BaseDate + @TotalDay RETURN @BaseDate END
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)