PDA

View Full Version : نوع داده ای bit



tanha_nabash
شنبه 04 اسفند 1386, 02:07 صبح
سلام
من یک فیلد رد جدول دارم از نوع bit
می خواهم هر وقت کلمه مرد وارد شد یک و هر وقت کلمه زن وارد شد 0
چطور باید این را تعیین کنم؟

amin727
شنبه 04 اسفند 1386, 08:03 صبح
هم میتونید سمت کلاینت با یک شرط مقدار صفر و یک رو بفرستید هم توسط تابع و یاSP سمت دیتابیس

Elham_gh
شنبه 04 اسفند 1386, 09:04 صبح
فرض بر اینکه فیلد f2 شما bit باشد:


SELECT f1,
CASE f2
WHEN 1 THEN 'Male'
ELSE 'FEMALE'
END AS Gender
FROM tblName

tanha_nabash
یک شنبه 05 اسفند 1386, 01:42 صبح
برای insert کردن چطوریعنی دستور اینسرت چطوری می شود

Alireza Orumand
یک شنبه 05 اسفند 1386, 07:32 صبح
سلام


سلام
من یک فیلد رد جدول دارم از نوع bit
می خواهم هر وقت کلمه مرد وارد شد یک و هر وقت کلمه زن وارد شد 0
چطور باید این را تعیین کنم؟

در چنین مواردی تجربه ثابت کرده که برای انتخاب شما اگر یک جدول دیگه داشته باشید که از اون کمک بگیرید بهتره. یه جدول بسازید با 2 تا فیلد یکی ID از نوع بیت و دیگری برای نگه داری نام جنسیت. حالا این جدول رو با جدول اصلی Join کنید. اینطوری کار شما خیلی راحت میشه. درد سر هم ندارید. در روش بالا شما مشکلات زیادی دارید مثل اینکه ممکنه یه کاربر جنسیت رو مذکر وارد کنه دیگری مرد تازه شاید بعضی ها غلط املایی هم داشته باشن. در این شرایط برنامه شما کاملا ناتوان میشه و داده وارد نمیشه ولی با داشتن جدول کمکی کاربر فقط موادی که شما به اون دادید رو میتونه انتخاب کنه. برنامه هم همیشه کار میکنه.
برای Insert هم شما به راحتی میتونید عمل کنید. سمت برنامه کاربر داده ها داخل لیست نمایش داده میشه و شما Index انتخاب شده رو برای دیتابیس ارسال میکنید. با این روش دیگه هیج نیازی به چک کردن شرط و دستورات انتخاب هنگام کار با داده ها نیست و همه کارها به کمک دستورات استاندارد انجام میشه.
البته راهنمایی دوستان درباره سوال شما درست بود. موردی که بنده ذکر کردم فقط جهت این بود که اگر برنامه کامل رو کار کردید در آینده به مشکل نخورید و اگر نه با فرض اینکه کاربر همیشه فقط همون چیزی رو وارد میکنه که شما انتظار دارید موارد بالا هم صحیح است.
موفق باشید.

Elham_gh
یک شنبه 05 اسفند 1386, 14:26 عصر
برای insert کردن چطوریعنی دستور اینسرت چطوری می شود



INSERT INTO tbl1
SELECT f1,
CASE f2
WHEN 1 THEN 'Male'
ELSE 'FEMALE'
END AS Gender
FROM tblName