View Full Version : بازگشت تعداد زیادی رکورد
kh-emami
جمعه 01 اسفند 1393, 17:58 عصر
با سلام من میخواستم اختلاف دو تا تاریخ شمسی رو حساب کنم جالب این است که بااین کد تعدادی جواب حدود 365 تا جواب برمیگرداند ولی دیتابیس من 5000 تا رکورد دارد و پیغام اون را هم در ادامه قرار میدهم دوستان اگر کسی هست لطفا کمک کنه حتی با Top 350 هم این کد کار میکنه ولی نمیدونم چرا برای همه رکوردها جواب نمیدهد
SELECT Tarikh,DATEDIFF(dd,Tarikh,'1394/10/11') ,'1394/10/11
FROM Table2
ORDER BY Tarikh
این هم پیغام خطایی که میدهد اشتباه است که بنظرم اگر کد اشتباه باشه که جواب هم نباید داشته باشیم ولی اگر درسته باید همه کدها اجرا شود
Msg 241, Level 16, State 1, Line 1
Conversion failed when converting date and/or time from character string
دوستان این هم عکس اجرای برنامه
128679
شرمنده عکس زیاد خوب نشده
دوستان لطفا کمک کنید
باتشکر
sajadsobh
جمعه 01 اسفند 1393, 22:56 عصر
تابع DATEDIFF واسه تفاوت دو تا تاریخ میلادیه!
kh-emami
شنبه 02 اسفند 1393, 18:49 عصر
با سلام خدمت دوست عزیزم ولی اگر شما تاریخ شمسی هم داشته باشی محاسبه می کند
البته فکر کنم این تابع تاریخ شمسی ما رو میلادی تصور میکنه و به خاطر همین است........البته فکر کنم چون تاریخ ها که میلادی باشد درست است و به تعداد رکورد بستگی ندارد.
در هر صورت با تشکر از شما دوست عزیز ولی همانطور که در عکس مشاهده میکنید کار کرده و درست هم جواب داده
ولی همانطور که گفتم وقتی با top 300 مینویسم درست کار میکنه.
اگر توانستید کمک کنید پیشاپیش از دوستان تشکر می کنم
SabaSabouhi
شنبه 02 اسفند 1393, 23:59 عصر
با سلام خدمت دوست عزیزم ولی اگر شما تاریخ شمسی هم داشته باشی محاسبه می کند
البته فکر کنم این تابع تاریخ شمسی ما رو میلادی تصور میکنه و به خاطر همین است........البته فکر کنم چون تاریخ ها که میلادی باشد درست است و به تعداد رکورد بستگی ندارد.
در هر صورت با تشکر از شما دوست عزیز ولی همانطور که در عکس مشاهده میکنید کار کرده و درست هم جواب داده
ولی همانطور که گفتم وقتی با top 300 مینویسم درست کار میکنه.
اگر توانستید کمک کنید پیشاپیش از دوستان تشکر می کنم
سلام
نه دوست من، اشتباه میکنی.
این که محاسبه میکنه با درست محاسبه میکنه تفاوت داره.
تاریخی که شما وارد میکنی از دید سیستم، تاریخ هست و سیستم تاریخ رو تاریخ میلادی فرض میکنه.
مثلا شما با تابع DATEDIFF اختلاف دو تاریخ 13/1/93 و 13/3/93 رو محاسبه کن. اگه شما درست بگی باید بشه 62 روز
اما میبینی که اینطور نمیشه.
دوست من، اصرار به کار اشتباه، از خود اشتباه بدتره. فعلاً فکر میکنی کارت راه افتاده، بعد بدجوری اذیتت میکنه.
خیلی ساده تاریخها رو میلادی نگهدار و هنگام نمایش به شمسی تبدیلشون کن.
صبا صبوحی
ham3d1988
یک شنبه 03 اسفند 1393, 12:10 عصر
سلام دو تا تابع جدید(تبدیل شمسی به میلادی و بالعکس) بنویس و هنگام select تاریخ شمسی رو میلادی کن بعدش تفاوت رو محاسبه کن
مثلا :
DateDiff(day,dbo.ShamsiToMiladi('1393/03/03'),getdate())
بعدش هم با این توابع تاریخ ها رو توی دیتابیس حتما اصلاح کنید.
SabaSabouhi
یک شنبه 03 اسفند 1393, 14:34 عصر
سلام دو تا تابع جدید(تبدیل شمسی به میلادی و بالعکس) بنویس و هنگام select تاریخ شمسی رو میلادی کن بعدش تفاوت رو محاسبه کن
مثلا :
DateDiff(day,dbo.ShamsiToMiladi('1393/03/03'),getdate())
بعدش هم با این توابع تاریخ ها رو توی دیتابیس حتما اصلاح کنید.
سلام
چند وقت پیش script تابع تبدیل تاریخ میلادی به شمسی رو ( برای T-Sql ) تو این تالار گذاشتم، جستجو کنی پیداش میکنی.
برای تبدیل تاریخ میلادی به شمسی در جدولها و گزارشها به دردت میخوره. 100% در تمام دامنهی تعریف تست شده.
صبا صبوحی
kh-emami
یک شنبه 03 اسفند 1393, 17:39 عصر
از دوستان عزیز که کمک کردند کمال تشکر را دارم
خودم هم یه جورایی شک کرده بودم که تاریخ رو میلادی در نظر میگیره .....البته اگه خونده باشید نوشتم که میلادی در نظر میگیره
در هر صورت من که تابع با CLR نوشتم که دو تا تاریخ شمسی می گیرد و تفاوت روزهای انرا نمایش میدهد
خانم صبوحی اگر لینکش رو پیدا کردین ممنون میشم قرار بدید تا بیشتر یاد بگیرم
یه سوال دیگر هم داشتم اگر ما از یک کرسر در پروسیجر استفاده کنیم بازدهی پایین میاد؟؟؟؟
بازهم تشکر فراوان از دوستان گلم
SabaSabouhi
یک شنبه 03 اسفند 1393, 18:53 عصر
از دوستان عزیز که کمک کردند کمال تشکر را دارم
خودم هم یه جورایی شک کرده بودم که تاریخ رو میلادی در نظر میگیره .....البته اگه خونده باشید نوشتم که میلادی در نظر میگیره
در هر صورت من که تابع با CLR نوشتم که دو تا تاریخ شمسی می گیرد و تفاوت روزهای انرا نمایش میدهد
خانم صبوحی اگر لینکش رو پیدا کردین ممنون میشم قرار بدید تا بیشتر یاد بگیرم
یه سوال دیگر هم داشتم اگر ما از یک کرسر در پروسیجر استفاده کنیم بازدهی پایین میاد؟؟؟؟
بازهم تشکر فراوان از دوستان گلم
سلام
1. من آقای صبوحی هستم.
2. لینک رو یادم نیست کجاس، جستجو کنی پیدا میکنی. ( اگه پیدا نشد، بگو دوباره بفرستم )
3. بله، Cursor سرعت رو پایین میاره، اگر سرعت برات مهمه سعی کن بدون Cursor انجام بدی.
صبا صبوحی
kh-emami
یک شنبه 03 اسفند 1393, 19:21 عصر
آقا ببخشید شرمنده ، من فکر میکردم صبا اسم دخترونه است.
جست و جو کردم، یک سری تابع هم پیدا کردم ولی گیج شدم اگر امکان داره تابع های تبدیل شمسی به میلادی و بر عکس رو بذارید ممنون میشم
اگر درست فهمیده باشم استفاده از تابع یا پروسیجر و کرسر درون یکدیگر بازده سیستم را پایین می آورد حالا اگر سیستمی داشته باشیم که تاریخ ها رو میلادی ذخیره کرده باشن و بخواهیم یه پروسیجر برای یکی از جدول ها بنویسیم مجبور میشیم از تابع تبدیل تاریخ استفاده کنیم اینجا باید بازدهی برایمان مهم باشد یا رسیدن به جواب؟
بازهم بخاطر اشتباهم معذرت می خوام
SabaSabouhi
یک شنبه 03 اسفند 1393, 21:14 عصر
آقا ببخشید شرمنده ، من فکر میکردم صبا اسم دخترونه است.
جست و جو کردم، یک سری تابع هم پیدا کردم ولی گیج شدم اگر امکان داره تابع های تبدیل شمسی به میلادی و بر عکس رو بذارید ممنون میشم
اگر درست فهمیده باشم استفاده از تابع یا پروسیجر و کرسر درون یکدیگر بازده سیستم را پایین می آورد حالا اگر سیستمی داشته باشیم که تاریخ ها رو میلادی ذخیره کرده باشن و بخواهیم یه پروسیجر برای یکی از جدول ها بنویسیم مجبور میشیم از تابع تبدیل تاریخ استفاده کنیم اینجا باید بازدهی برایمان مهم باشد یا رسیدن به جواب؟
بازهم بخاطر اشتباهم معذرت می خوام
سلام
1. خوب هم دخترونه هست و هم پسرونه. :)
2. دوباره میفرستم، اگه شد امشب اگه نشد فردا
3. بله، تابع کند هست، اما این تابع که من نوشتم، سرعت خوبی داره، کلی رو الگوی ریاضیاش کار کردم که حداکثر سرعت رو داشته باشه.
4. اگر نداره، درستش اینه که حتماً میلادی ذخیره کنی. نگران شمسی کردن هم نباش، فعلاً با تابع من فارسی کن، قراره از ویندوز 10 پشتیبانی تاریخ شمسی اضافه بشه
مشکلی نیست، برای من زیاد پیش میاد، بخصوص اینجور جاها که ارتباط غیر مستقیم هست و خیلی معلوم نیست اون طرف کی نشسته :)
صبا صبوحی
kh-emami
دوشنبه 04 اسفند 1393, 21:10 عصر
آقای صبوحی خبری نشد، ببخشید بازهم مزاحم شدم.
اگر لطف کنید تبدیل شمسی به میلادی و میلادی به شمسی رو قرار بدید ممنون میشم.
با تشکر
SabaSabouhi
سه شنبه 05 اسفند 1393, 08:37 صبح
آقای صبوحی خبری نشد، ببخشید بازهم مزاحم شدم.
اگر لطف کنید تبدیل شمسی به میلادی و میلادی به شمسی رو قرار بدید ممنون میشم.
با تشکر
سلام
ببخشید از تاخیر، چون این درخواست دوستان دیگری هم بود، تو یه تاپیک جداگانه میفرستمش
صبا صبوحی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.