smakhavan
پنج شنبه 09 اردیبهشت 1389, 13:34 عصر
آيا udf ي وجود داره كه بتوان تاريخ را به تاريخ استاندارد 8رقمي تبديل كرد؟
مثلا 89/2/1 را به 89/02/01 تبديل كنه
smakhavan
شنبه 11 اردیبهشت 1389, 14:55 عصر
يعني راهي وجود نداره؟
يه ديتابيس دارم كه از قبل وارد شده و تاريخ ها هم به صورت 8 كاراكتري و هم به صورت 6 كاراكتري و حتي كاملتر بگم 10 كاراكتري هم وجود داره حالا بخواهيم همهاش را به صورت يكسان تبديل كنيم چه بايد كرد؟
مثلا
89/2/1
89/2/01
89/02/1
1389/2/1
مثلا تبديل بشوند به
1389/02/01
محمد سلیم آبادی
شنبه 11 اردیبهشت 1389, 15:25 عصر
يعني راهي وجود نداره؟
يه ديتابيس دارم كه از قبل وارد شده و تاريخ ها هم به صورت 8 كاراكتري و هم به صورت 6 كاراكتري و حتي كاملتر بگم 10 كاراكتري هم وجود داره حالا بخواهيم همهاش را به صورت يكسان تبديل كنيم چه بايد كرد؟
مثلا
89/2/1
89/2/01
89/02/1
1389/2/1
مثلا تبديل بشوند به
1389/02/01
با استفاده از توابع T-SQL میتوانید این تغییرات را اعمال کنید:
declare @d varchar(10)
set @d='89/1/1'
select @d
-- 89/1/1
select case when len(PARSENAME(replace(@d,'/','.'),3))=1 then '0'+PARSENAME(replace(@d,'/','.'),3)+'/' else PARSENAME(replace(@d,'/','.'),3)+'/'end
+case when len(PARSENAME(replace(@d,'/','.'),2))=1 then '0'+PARSENAME(replace(@d,'/','.'),2)+'/' else PARSENAME(replace(@d,'/','.'),2)+'/' end
+case when len(PARSENAME(replace(@d,'/','.'),1))=1 then '0'+PARSENAME(replace(@d,'/','.'),1) else PARSENAME(replace(@d,'/','.'),1) end
-- 89/01/01
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.