PDA

View Full Version : مشکل در sql



abazzi
یک شنبه 08 فروردین 1389, 21:45 عصر
سلام من یه تابع دارم مثلا بین دو عدد بزرگتر رو میده حالا میخوام از دستور

Select * From ams Where ass(a,b)
a, b دوتا فیلد پشت سر هم هست و ass اسم تابع
من هر تابعی رو میخواستم تو دستورات sql به کار بگیرم نشد

hossein_h62
دوشنبه 09 فروردین 1389, 10:02 صبح
سلام من یه تابع دارم مثلا بین دو عدد بزرگتر رو میده حالا میخوام از دستور

Select * From ams Where ass(a,b)
a, b دوتا فیلد پشت سر هم هست و ass اسم تابع
من هر تابعی رو میخواستم تو دستورات sql به کار بگیرم نشد

سلام. دوست عزیز مشخصه که به این شکل جواب نمیگیرید.واضحتر توضیح بدین که چکاری می خواین انجام بدین با این کد.
از خود توابع SQL استفاده کنید:


Select Max(Field) From MyTable

pezhvakco
دوشنبه 09 فروردین 1389, 10:36 صبح
درود :
شما می خوای از یه تابع خارجی ( نوشته شده در دلفی ) داخل SQL استفاده کنی !
نمیشه ...
فکر خوش .

abazzi
دوشنبه 09 فروردین 1389, 12:52 عصر
درود :
شما می خوای از یه تابع خارجی ( نوشته شده در دلفی ) داخل SQL استفاده کنی !
نمیشه ...
فکر خوش .
یعنی این امکان وجود نداره اینجوری که خیلی بده

pezhvakco
دوشنبه 09 فروردین 1389, 20:05 عصر
شما در SQL خواسته خود رو به به صورت متن ارسال می کنی و برنامه مفسر موارد را خوانده و بنا به توابع خودش انجام میده .
شما نمیتونی از توابع دلفی در SQL استفاده کنی چون هیچ ربطی به هم ندارند .
شما باید مقادیر مورد نظرت رو در دلفی بدست بیاری و بعد به SQL بفرستی .
فکر خوش .

danesh1351
جمعه 27 فروردین 1389, 19:57 عصر
با سلام
دوست عزيز اگه منظورت اينه كه با مقايسه دو فيلد و بر اساس نتيجه خروجي شما تعيين شود .
اگر از sql server استفاده ميكني به راهنماي دستور case در sql server مراجعه كن .
اگر از اكسس استفاده ميكني از دستور زير استفاده كن



Select F1 , F2 , IIf(F3>F4 , F5 , F6)
From T1
Where ...

در اين كد اگر مقادار فيلد F3 > F4 باشد فيلد F5 در غير اينصورت F6 در گزارش شما در آن ركورد ميايد .