PDA

View Full Version : نمایش دادن قسمتی از یک فیلد در گراید



com_engineer_ab
دوشنبه 30 فروردین 1389, 16:21 عصر
سلام
من یه جدول دارم که یه کد 10 رقمی رو به عنوان کلید نگه می دارد
این کد در اصل 2 کد 7 و 3 رقمی که هنگام اضافه شدن به جدول ساخته می شه.
کد 7 رقمی مخصوص کاربر و کد 3 رقمی مخصوص سیستم است.
حالا پی کار کنم که هنگام دستور select فقط کد 7 رقمی رو توی گراید نشون بدم
می خوام بالاترین سرعت رو هم داشته باشم
یعنی به جای اینکه بعد از لود شدن دادههام یا هنگام لود شدن کد رو نصف کنم توی دستور select این کار رو انجام بدم م شه؟؟؟

zmmehrdad
دوشنبه 30 فروردین 1389, 16:49 عصر
اگر فیلد عددی است یعنی مثلا decimal یا bigint است میتونی از دستور زیر استفاده کنی
البته با فرض اینکه کد 7 رقمی سمت چپ و کد 3 رقمی سمت راست کد اصلی قرار دارد


select code, round(code / 1000, 0) as digit7, code % 1000 as digit3 from table_name

و اگر فیلد کد رشته ای هست و با فرض اینکه طول کد حتما 10 رقمی هست


select substring(code, 1, 7) as digit7, substring(code, 8, 3) as digit3 from table_name