PDA

View Full Version : سوال: حذف يك عدد از سمت راست (update)



leghleghe
جمعه 10 دی 1389, 12:28 عصر
با سلام
چطور ميشه با update يه عدد از سمت چپ يه ستون عددي كم كرد
ممنون

f_arab
جمعه 10 دی 1389, 18:01 عصر
سلام دوست عزیز
اگه یه عدد به 10 تقسیم صحیح بشه یه عدد از سمت راستش کم میشه
مثلااگه تقسیم 10/22 رو انجام بدی حاصل تقسیم صحیح 2 میشه و فکر می کنم این همون چیزی باشه که شما میخواین


update tablename set columnname=columnname/10 where

بعد از where میتونی شرطی رو بنویسی که مشخص کنه کدوم سطر یه عدد از سمت راستش کم بشه
موفق باشید:چشمک:

leghleghe
جمعه 10 دی 1389, 19:05 عصر
سلام دوست عزیز
اگه یه عدد به 10 تقسیم صحیح بشه یه عدد از سمت راستش کم میشه
مثلااگه تقسیم 10/22 رو انجام بدی حاصل تقسیم صحیح 2 میشه و فکر می کنم این همون چیزی باشه که شما میخواین


update tablename set columnname=columnname/10 where

بعد از where میتونی شرطی رو بنویسی که مشخص کنه کدوم سطر یه عدد از سمت راستش کم بشه
موفق باشید:چشمک:

خب مشكل اينه كه اين ستون كليد اصليه و نميشه داده هاش يكسان باشه اونطوري كه شما ميگيد 22/10و21/10 يكي ميشه و...

tooraj_azizi_1035
شنبه 11 دی 1389, 08:35 صبح
سلام،
اگه فیلد شما دو مقدار 21 و 22 رو داشته باشه شما به هر روشی یکان رو حذف کنید در نهایت دو مقدار 2 می ماند که تکراری است. برای چه می خواهید این کار را انجام دهید؟

f_arab
یک شنبه 12 دی 1389, 09:36 صبح
مشكل اينه كه اين ستون كليد اصليه و نميشه داده هاش يكسان باشه
سلام دوست عزیز
اصولا فیلد کلید رو طوری قرار میدن که نیاز به تغییر نداشته باشه و با استفاده از اون بشه به یک رکورد خاص دسترسی داشت
به نظر شما تغییر فیلد کلید کمی غیر منطقی به نظر نمیرسه؟!!!!!!!!:متعجب:

leghleghe
یک شنبه 12 دی 1389, 20:20 عصر
سلام دوست عزیز
اصولا فیلد کلید رو طوری قرار میدن که نیاز به تغییر نداشته باشه و با استفاده از اون بشه به یک رکورد خاص دسترسی داشت
به نظر شما تغییر فیلد کلید کمی غیر منطقی به نظر نمیرسه؟!!!!!!!!:متعجب:

با سلام
من در حال بار گذاری دیتابیس یک برنامه حسابداری با دیتابیس یه برنامه مخصوص دارو هستم برای ورود نام و مشخصات دارو ها به دیتابیس برنامه حسابداری (به عنوان یک قلم کالا) نیاز به تولید یه کد 7 رقمی برای هر قلم دارو دارم به این شکل که دو رقم اول از سمت چپ نشان دهنده عنوان اصلی کالا است دو رقم بعد عنوان فرعی و سه رقم آخر هم کد اون کالاست.
حالا من با چهار رقم اول مشکلی ندارم مونده این سه رقم آخر که باید کدهای دارویی رو که از 1 شروع میشه تا 6555 تبدیل کنه به 7 سری کد سه رقمی از 1 تا 999.
مثلا عدد آخری بشه 0101001 یا 0102001 یا 0103001 .
دوباره مثلا عدد 2356 تبدیل بشه به 0103235 .ببخشید اگه پیچیده شد.

pezhvakco
دوشنبه 13 دی 1389, 09:24 صبح
چطور ميشه با update يه عدد از سمت راست يه ستون عددي كم كرد

یه کد 7 رقمی برای هر قلم دارو دارم به این شکل که دو رقم اول از سمت چپ نشان دهنده عنوان اصلی کالا است دو رقم بعد عنوان فرعی و سه رقم آخر هم کد اون کالاست.
حالا من با چهار رقم اول مشکلی ندارم مونده این سه رقم آخر که باید کدهای دارویی رو که از 1 شروع میشه تا 6555 تبدیل کنه به 7 سری کد سه رقمی از 1 تا 999.
دوباره مثلا عدد 2356 تبدیل بشه به 0103235 .ببخشید اگه پیچیده شد.
این کاری که می گین می خوای انجام بدین (بدست آوردن کد کالا) چه ربطی داره به اونی که ابتدا گفتین (بروز رسانی کد) .
چون شما نباید بروز رسانی داشته باشی و باید در همون هنگامی که می خوای یک ردیف کالا رو بسازی کد رو با بکارگیری اون روش خودتون بدست بیاری و در جدول ذخیره کنی .


مثلا عدد 2356 تبدیل بشه به 0103235
نمی دونم روش شما در بدست آوردن 4 رقم ابتدایی چیه ؟
چون اگر 2536 به 0103235 احتمالا 2537 و ؟253 هم به همین کد تبدیل بشه .

leghleghe
دوشنبه 13 دی 1389, 18:58 عصر
این کاری که می گین می خوای انجام بدین (بدست آوردن کد کالا) چه ربطی داره به اونی که ابتدا گفتین (بروز رسانی کد) .
چون شما نباید بروز رسانی داشته باشی و باید در همون هنگامی که می خوای یک ردیف کالا رو بسازی کد رو با بکارگیری اون روش خودتون بدست بیاری و در جدول ذخیره کنی .


نمی دونم روش شما در بدست آوردن 4 رقم ابتدایی چیه ؟
چون اگر 2536 به 0103235 احتمالا 2537 و ؟253 هم به همین کد تبدیل بشه .
واقعا عذر میخوام منظورم حذف یه عدد از سمت چپ بود نه راست

Reza_Yarahmadi
سه شنبه 14 دی 1389, 07:26 صبح
Declare @i int
Set @i = 2345
Select Right(@i, 3)
--OR
Select @i % 1000