PDA

View Full Version : تبدیل فیلد Nvarchar به DateTime



bardia goharbin
پنج شنبه 24 اردیبهشت 1388, 11:07 صبح
از Sql2008 استفاده میکنم و یک فیلد از نوع Nvarchar-50 دارم که در آن تاریخ بصورت شمسی 1388/01/01 ذخیره شده است ولی حالا قصد داریم این فیلد را به نوع DateTime تغییر دهیم ولی SQL خطا میدهد.


- Unable to modify table.
Arithmetic overflow error converting expression to data type datetime.
The statement has been terminated.

سئوال من این است که روش تبدیل این نوع فیلد به DateTime چیست؟ و چگونه میتوانم این مشکل را حل کنم.

hamid_200611
پنج شنبه 24 اردیبهشت 1388, 12:00 عصر
سلام ، شما نمی تونی این کارو انجام دهید چون در داده نوع تاریخ نمی تونید تاریخ زیر سال 1400 را وارد کنید.

bardia goharbin
پنج شنبه 24 اردیبهشت 1388, 12:02 عصر
چرا؟ مگه تاریخ شمسی به سیستم SQL2008 اضافه نشده؟ من قصدم از تبدیل نوع فیلدم به تاریخ این بود که بتوانم بین تاریخها محاسبه کنم، در نوع Nvarchar چگونه میتوانم تعداد روزهای بین دو تاریخ و یا تعداد ماهها و یا سالهای بین دو تاریخ را به دست بیاورم؟

mina.net
جمعه 25 اردیبهشت 1388, 14:45 عصر
دوست عزیز سلام
من هم همین مشکل رو داشتم. من برای حل مشکلم علامت / رو برداشتم و در ضمن اگر ماه یا روز یک رقمی بود یک صفر کنارش قرار دادم و در بانک ذخیره کردم یعنی همه به صورت 8 کارکتری ذخیره شدن به این ترتیب قابل sort شدن خواهند بود. و برای نمایش به کاربر هم دوباره علامت / رو اضافه کردم. برای من که جواب داد .
اگه در این مورد سوالی داری من به زودی همراه date timepicker که ساختم دو function می زارم که یکی مشخص می کنه تاریخ شمسی صحیح هست یا نه و دیگری علامت / رو از تاریخ حذف می کنه. در ضمن برای گذاشتن علامت / موقع select هم دستورش رو می گم خلاصه مشکلی در مورد تاریخ نمی مونه (البته به نظر خودم).