نمایش نتایج 1 تا 13 از 13

نام تاپیک: تبدیل مقادیر در هنگام واکشی(select)

  1. #1
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    تبدیل مقادیر در هنگام واکشی(select)

    سلام به همه دوستان عزیز
    من تو درون فیلدها اطلاعات رو به صورت باینری (0و1) ذخیره کردم
    میخوام بدونم میتونم هنگام select بیام طوری دستورمو بنویسم که خودش اطلاعات رو برگردونه به حالت اول

  2. #2

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    سلام.
    بله شما میتونید با استفاده از دستور Case در داخل select هر چیزی رو نمایش بدید.
    مثال :

    select id,case When Typ=0 then 'بدهکار' else 'بستانکار' end as TypeSanad from Table1

  3. #3
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    سلام اقای صادقیان
    نه منظورم این نبود
    فرض کنید من یه رشته دارم به صورت 001011101011011 و میخوام مثلا 4 تا 4 تا جداشون کنیم و معادل هرکدومشون رو بزارم
    مثلا اگر 0010 بود بزاره A و ..
    برای جدا کردن هم از ابتدای این رشته باینری شروع کنه
    منظورم این بود

  4. #4
    کاربر دائمی آواتار Modifier
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    اصفهان دیار شیخ بهایی
    سن
    39
    پست
    611

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    سلام
    فرض کنید من یه رشته دارم به صورت 001011101011011 و میخوام مثلا 4 تا 4 تا جداشون کنیم و معادل هرکدومشون رو بزارم
    مثلا اگر 0010 بود بزاره A و ..
    من اینطور فکر میکنم که احتمالا چیزی نیست که این رشته کد باینری رو بهش بدی و مقدار اولش رو برگردونه ...
    فکر کنم بهتره یه Function بنویسی که که رشته رو بهش پاس بدی و با فرمتی که میخوای پردازشش کنی...حالا چه توی Sql Server یا ....

  5. #5
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    من این کار رو دارم انجام میدوم تو ویژوال
    میخوام تو sql این اتفاق بیفته حالا با تابع یا هر چیز دیگه ای
    فقط میخوام قدرت اینو داشته باشه که وقتی select رو مینویسم بتونه کارهایی که میخوام رو انجام بده و نتیجه رو برگردونه

  6. #6

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    سلام. شما باید یک تابع بنویسی که ورودیش یک مقدار رشته ای باشه که مقدار فیلدت رو بدی.
    در داخل اون یک متغیر تعریف میکنی و طول رشته رو بهش پاس میدی.
    در داخل یک حلقه با استفاده از Substring میتونی این رشته رو به صورت 4 رقم 4رقم جدا کرده و خروجی مورد نظر رو در یک رشته دیگه ذخیره کنی.
    در نهایت نتیجه خروجی تابع شما میشه مقدار نهایی تولید شده.

  7. #7
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    خوب فرض کنید یک تابع نوشتم با نام Dcode که ورودیش یک رشته باینری و خروجیش یک رشته تبدیل شده بود
    حالا چطور باید از این تابع داخل select استفاده کنم!!

  8. #8
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    سلام
    اگر decode شما برای موضوع امنیتی است اصلا الگوریتم را سمت SQLServer ننویسید در غیر اینصورت چند روش وجود دارد
    1- با استفاده از فیلد محاسباتی
    2- با استفاده از تابع مثلا بنام Dc و روش استفاده :
    Select X=dbo.dc(FldName),... From T

  9. #9
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    بله برای امنیت اطلاعات دارم این کار رو میکنم
    میخوام بدونم اگر این کار رو طرف sql بنویسم سرعت من بالاتر میره یا نه؟
    و آیا میشه این تابع رو داخل برنامه vb نوشت و توی همون vb زمانی که دارم دستور select رو بنویسم اون تابع رو فراخونی کنم.
    الان من مجبورم اطلاعات رو داخل گرید بیارم و تک تک سطر و ستون ها رو تبدیل به رشته اصلی کنم، فکر کنم اطلاعات که حجمش زیاد بشه این روش چندان کارا نباشه

  10. #10
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    سلام
    بستگی به Client ها دارد اگر Client ها خوب باشند در سمت Vb سرعت بیشتر است
    اگر بانک اکسس بود می شد ولی در بانک SQLServer شما تابع درون زبان برنامه نویسی را نمی توانید به خورد SQLServer دهید
    از گرید VB.NET استفاده می کنید ؟

  11. #11
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,591

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    از CLR Integration هم می تونید استفاده کنید.

  12. #12
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    بستگی به Client ها دارد اگر Client ها خوب باشند در سمت Vb سرعت بیشتر است
    منظور از خوب بودن سرعت دستگاه هست؟
    اگر بانک اکسس بود می شد ولی در بانک SQLServer شما تابع درون زبان برنامه نویسی را نمی توانید به خورد SQLServer دهید
    منظورم این نیست که تابع رو که تو vb نوشتم تو sqlserver فراخونی کنم میخوام تو همون vb یه تابعی رو که نوشتم تو دستور select که تو همون vb هست بدوم، منظورم زمانی هست که با کد دارم به بانک وصل میشم
    از گرید VB.NET استفاده می کنید ؟
    از گرید برای نمایش استفاده میکنم اما داده هارو قبل از اتصال به گرید توی خود datatable تغییر میدم
    از CLR Integration هم می تونید استفاده کنید.
    نمیدونم چی هست

  13. #13
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: تبدیل مقادیر در هنگام واکشی(select)

    سلام
    بهترین روش همان است که در یک فیلد جدا در DataTable برگشتی مقدار را محاسبه می کنید (پردازش سمت Client و روی Ram در حال انجام است)

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •