Sama_gh_San
چهارشنبه 14 مهر 1389, 10:42 صبح
سلام دوستان:
من يک تابع مي خوام که ورودي آن تاريخ است و اين تاريخ به صورت شمسي مي باشد و خروجي که اين تابع مي ده بايد تاريخ را به صورت ميلادي برگرداند.
کسي هست در اين زمينه منو کمک کنه ممنون مي شم.
hossein_h62
چهارشنبه 14 مهر 1389, 16:58 عصر
سلام دوست عزیز
اینو ببین :
CREATE FUNCTION DateLatin(@DateFarsi CHAR(10))
RETURNS DateTime AS
BEGIN
SET @DateFarsi = REPLACE(@DateFarsi, '/', '')
DECLARE @Days BigInt
DECLARE @Year_Farsi int
DECLARE @Month_Farsi int
DECLARE @Day_Farsi int
SET @Year_Farsi = CONVERT(int, SUBSTRING(@DateFarsi, 1, 4))
SET @Month_Farsi = CONVERT(int, SUBSTRING(@DateFarsi, 5, 2))
SET @Day_Farsi = CONVERT(int, SUBSTRING(@DateFarsi, 7, 2))
SET @Days = ((@Year_Farsi - 1279) * 365) + ((@Year_Farsi - 1276) / 4)
IF @Month_Farsi <= 7
SET @Days = @Days + ((@Month_Farsi - 1) * 31)
ELSE
SET @Days = @Days + ((@Month_Farsi - 7) * 30) + 186
RETURN DATEADD(DAY, @Days + @Day_Farsi - 1, '19000320')
END
Sama_gh_San
پنج شنبه 15 مهر 1389, 08:30 صبح
ممنون از راهنماي. مشکلم حل کردي
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.