PDA

View Full Version : مشخص کردن طول یک فیلد کاراکتری در زمان ایجاد با دستور Select



hedayat
چهارشنبه 08 آذر 1385, 08:51 صبح
سلام خدمت همه دوستان:
من برای اینکه از یک table Temp استفاده کنم با استفاده از یک Select ساختاری که می خوام می سازم و بعد ... ، مانند تکه برنامه زیر :


select 1 as Fcode,' ' as Desk into #ErrorHsb

حالا می خواستم بپرسم که اگه بخوام یک فیلد کاراکتری با طول 100 رو برای مثال بالا برای فیلد Desk بسازم بجای استفاده از عبارت (' ') با 100 تا Space باید از چه تابعی یا روشی استفاده کنم ؟؟؟ :متفکر: :متفکر: :متفکر:

h_baqery
چهارشنبه 08 آذر 1385, 10:09 صبح
چرا از create table استفاده نمی کنی . هم کنترل بیشتری داری و هم فرقی نداره چون در هر حال هر دفعه باید اونو بسازی و توشو با insert into پر کنی و بعدم حذفش کنی .

hedayat
چهارشنبه 08 آذر 1385, 14:00 عصر
چرا از create table استفاده نمی کنی . هم کنترل بیشتری داری و هم فرقی نداره چون در هر حال هر دفعه باید اونو بسازی و توشو با insert into پر کنی و بعدم حذفش کنی .

حرف شما درست:لبخندساده: :لبخندساده:
ولی این هم به جور پرسشه دیگه ، درسته کار من هم با Create Table راه می افته و هم با استفاده از (' ') به طول 100 ،
من فقط می خوام بدونم که آیا برای این کار تابع یا دستور خاصی تو SQL پیدا می شه که این کار رو انجام بده یا نه !!! :متفکر: :متفکر: :متفکر:

h_baqery
چهارشنبه 08 آذر 1385, 14:32 عصر
من تابع خاصی پیدا نکردم در BOL هم نوشته که جدول به توجه به طول فیلد در select یا where ساخته می شود . مگر اینکه با دستور alter بعد از ساخته شدن طول فیلد رو تغییر بدید یا در syscolumns طول فیلد رو به 100 تغییر بدید .

AminSobati
چهارشنبه 08 آذر 1385, 18:43 عصر
اینجور سوالها جهت ارضاء حس کنجکاوی اشکالی نداره، ولی همیشه براشون جواب وجود نداره! شانس آوردین این از اون "جوابدار"هاست!


select 1 as Fcode,replicate(' ',100) as Desk into ErrorHsb

--------------------

من تابع خاصی پیدا نکردم در BOL هم نوشته که جدول به توجه به طول فیلد در select یا where ساخته می شود . مگر اینکه با دستور alter بعد از ساخته شدن طول فیلد رو تغییر بدید یا در syscolumns طول فیلد رو به 100 تغییر بدید .
به جداول سیستمی حتی المقدور دست نزنید! مخصوصا اینکه حتما Storage Engine باید ازش با خبر بشه!

odiseh
یک شنبه 12 آذر 1385, 13:43 عصر
از Space هم می تونی استفاده کنی::

select 1 as FCode, Space(100) as Desc into #TempTable

hedayat
چهارشنبه 15 آذر 1385, 07:28 صبح
با تشکر از همه دوستان من که به جوابم رسیم