PDA

View Full Version : اضافه کردن یک سال به تاریخ موجود در فیلد که string است



pbiuki630
دوشنبه 29 فروردین 1390, 13:26 عصر
سلام
من یه فیلد تاریخ البته متاسفانه از نوع nvarchar دارم.میخوام تاریخم با یک سال جمع بشه و بعد بتونم مقایسه کنم یعنی هر تاریخی دارم یک سال بهش اضافه کنم و بعد با تاریخ امروز بسنجمش چه جوری میتونم این کارو انجام بدم.ممنونم

محمد سلیم آبادی
دوشنبه 29 فروردین 1390, 14:10 عصر
سلام،
باید دید که سال و ماه و روز رو با چه کاراکتری از هم تفکیک کردی سپس بعد از تجزیه کردن یکسال به سال اضافه می کنید. مثلا چیزی شبیه به این:


SELECT CAST(SUBSTRING(col, 1, CHARINDEX('/', col) -1) * 1 + 1 AS VARCHAR(10)) + SUBSTRING(col1, CHARINDEX('/', col1), 6) AS new_value;

pbiuki630
سه شنبه 30 فروردین 1390, 09:41 صبح
سلام،
باید دید که سال و ماه و روز رو با چه کاراکتری از هم تفکیک کردی سپس بعد از تجزیه کردن یکسال به سال اضافه می کنید. مثلا چیزی شبیه به این:


SELECT CAST(SUBSTRING(col, 1, CHARINDEX('/', col) -1) * 1 + 1 AS VARCHAR(10)) + SUBSTRING(col1, CHARINDEX('/', col1), 6) AS new_value;


میشه یه مقدار توضیح بدید که چگونه این کد باید استفاده بشه.ممنون

محمد سلیم آبادی
سه شنبه 30 فروردین 1390, 17:58 عصر
>>
میشه یه مقدار توضیح بدید که چگونه این کد باید استفاده بشه.ممنون
<<

ابتدا شما باید یکی دو تا مثال بزنید همراه با کد تا دقیق متوجه نیازتون بشیم تا جواب با شرح کافی ارسال کنیم.
من هنوز نمی دونم دقیقا چطور شما تاریخ را بصورت رشته ذخیره می کنید. در کل ابتدا باید مقدار مرتبط به سال را از رشته جدا کنیم و یک مقدار به آن اضافه کنیم سپس دوباره به آن قسمت از رشته که جدا شده بود الحاق کنیم.