ورود

View Full Version : تبدیل مقدار Null با توجه به نوع داده ستون



AmirAlimadadi
یک شنبه 08 فروردین 1389, 11:33 صبح
با سلام به همه دوستان
چه طوری می شه مقادیر Null موجود در یه جدول رو به مقدارهای دلخواه تبدیل کرد. البته این رو هم بگم که این مقادیر با استفاده از نوع ستون مشخص می شه.
یعنی مثلا یه script داشته باشیم که یه جدول رو بگیره، و برای تمام سطرها(یا یه سطر خاص)، مقدارهای Null رو شناسایی کنه و بر اساس نوع ستون، یه مقدار جدید به اون سلول بده (مثلا برای ستونهای string به جای Null مقدار "" و برای ستونهای int به جای Null مقدار 0 و ... رو قرار بده).
ممنون

پرواز
یک شنبه 08 فروردین 1389, 13:51 عصر
این مشکلت رو حل می کنه. (http://jamalkhah.ir/?p=15)

AmirAlimadadi
یک شنبه 08 فروردین 1389, 17:35 عصر
ممنون از جوابتون، ولی من می خواستم نام جدول رو از من بگیره و هر ستون رو بر اساس اینکه نوع اون چیه، مقادیر Null رو عوض کنه. مثلا اگه نوع ستون int هست، تمام مقدارهای Null رو برابر صفر بکنه.

پرواز
دوشنبه 09 فروردین 1389, 20:06 عصر
خوب از کجا بدونه که شما int رو می خوای صفر کنی و bit رو مثلا True؟ البته شاید راهی داشته باشه ولی سواد من در همین حده
من باشم از این روش استفاده می کنم:

UPDATE MyTable
SET int_Field = ISNULL(int_Field, 0), bit_Field = ISNULL(bit_Field, 1), ...
:لبخندساده:

ahmadr
دوشنبه 09 فروردین 1389, 23:44 عصر
سلام
شاید مشکل شما با smo حل بشود:

AmirAlimadadi
سه شنبه 10 فروردین 1389, 09:51 صبح
خوب از کجا بدونه که شما int رو می خوای صفر کنی و bit رو مثلا True؟

ببینید دوست عزیز، من خودم بهش می گم که مثلا int رو تبدیل به صفر بکنه (اگه Null بود)، اما من نمی دونم کدوم ستون از نوع int هست و یا حتی اسم ستون رو هم نمی دونم. این کار رو خودش باید انجام بده

svahidm
سه شنبه 10 فروردین 1389, 10:50 صبح
سلام
اميدوارم اسم جدول رو ديگه بدونين
با اين دستور مي تونين نوع ستون رو مشخص كنين و با هاش مانور بدين
select COLUMN_NAME ,DATA_TYPE from INFORMATION_SCHEMA.COLUMNS where 'TABLE_NAME='Product

ahmadr
سه شنبه 10 فروردین 1389, 11:08 صبح
چرا از (SQL Server Management Objects (SMO استفاده نمی کنید؟

AmirAlimadadi
چهارشنبه 11 فروردین 1389, 13:25 عصر
چرا از (SQL Server Management Objects (SMO استفاده نمی کنید؟
راستش من چیزی در این مورد که گفتین نفهمیدم

AmirAlimadadi
چهارشنبه 11 فروردین 1389, 13:25 عصر
سلام
اميدوارم اسم جدول رو ديگه بدونين
با اين دستور مي تونين نوع ستون رو مشخص كنين و با هاش مانور بدين
select COLUMN_NAME ,DATA_TYPE from INFORMATION_SCHEMA.COLUMNS where 'TABLE_NAME='Product
ممنون از راهنماییتون

محمد سلیم آبادی
چهارشنبه 11 فروردین 1389, 19:58 عصر
با سلام به همه دوستان
چه طوری می شه مقادیر Null موجود در یه جدول رو به مقدارهای دلخواه تبدیل کرد. البته این رو هم بگم که این مقادیر با استفاده از نوع ستون مشخص می شه.
یعنی مثلا یه script داشته باشیم که یه جدول رو بگیره، و برای تمام سطرها(یا یه سطر خاص)، مقدارهای Null رو شناسایی کنه و بر اساس نوع ستون، یه مقدار جدید به اون سلول بده (مثلا برای ستونهای string به جای Null مقدار "" و برای ستونهای int به جای Null مقدار 0 و ... رو قرار بده).
ممنون

سلام،
در صورتی که به ستون های Nullable مقدار پیشفرض تعیین کرده باشین لینک زیر می تواند شما را یاری رساند.
http://www.30sharp.com/ShowArticle.aspx?nid=13&did=201&AuthorID=11

بازم اگر مطالب موجود در لینک موثر نبودند می توانید اطلاع دهین تا Script مورد نظرتان را ایجاد کنم.

AmirAlimadadi
شنبه 14 فروردین 1389, 10:47 صبح
سلام،
در صورتی که به ستون های Nullable مقدار پیشفرض تعیین کرده باشین لینک زیر می تواند شما را یاری رساند.
http://www.30sharp.com/ShowArticle.aspx?nid=13&did=201&AuthorID=11

بازم اگر مطالب موجود در لینک موثر نبودند می توانید اطلاع دهین تا Script مورد نظرتان را ایجاد کنم.
ممنون از شما دوست عزیز. من در مورد اون قسمتی که گفتین برای ستونها مقدار پیش فرض تعیین کنم چیزی نفهمیدم و یه سوال دیگه اینکه اگه برای ستونها مقدار پیش فرض تعیین بشه آیا لازم هست که برای عوض کردن مقدارهای نال script بنویسیم یا اینکه اگه در جدول یه سلول نال شد، خود به خود مقدار اون سلول به مقدار پیش فرض تغییر پیدا می کنه

محمد سلیم آبادی
شنبه 14 فروردین 1389, 14:23 عصر
من در مورد اون قسمتی که گفتین برای ستونها مقدار پیش فرض تعیین کنم چیزی نفهمیدم
منظورتون اینه که با چگونگی دادن یک مقدار به عنوان مقدار پیشفرض به یک ستون آشنا نیستین؟ اگر جواب مثبت است در قسمت طراحی جدول اینکار صورت می گیرد. به تصویر زیر توجه کنید:
http://www.barnamenevis.org/forum/attachment.php?attachmentid=46445&stc=1&d=1270547459


اگه برای ستونها مقدار پیش فرض تعیین بشه آیا لازم هست که برای عوض کردن مقدارهای نال script بنویسیم یا اینکه اگه در جدول یه سلول نال شد، خود به خود مقدار اون سلول به مقدار پیش فرض تغییر پیدا می کنه
ناچاریم که از Script استفاده کنیم. البته من برای شما کار را ساده کردم. کافیه از تکنیکی که در آن مقاله ی ارجاع داده شده نوشتم استفاده کنین.

AmirAlimadadi
یک شنبه 22 فروردین 1389, 10:23 صبح
ممنون از راهنماییتون

محمد سلیم آبادی
یک شنبه 22 فروردین 1389, 12:23 عصر
ایده ی نوشتن همچین تکنیکی در واقع از سوال یکی از کاربران که در این تالار پرسیده شده بود ایجاد شد.
اینم لینکش.
http://www.barnamenevis.org/forum/showthread.php?t=195555&highlight=text