یادداشت های یک برنامه نویس
دوستدار فرهنگ و هنر کهن ایرانی
پایگاه داده

قرار دادن چند ردیف از یک ستون در یک ردیف براساس ستون دیگر

1   A
1   B
1   C    →    1   A,B,C 
2   D            2   D,E
2   E    

بدست آوردن تعداد تکرار یک کاراکتر در یک رشته در SQL Server:

declare @myvar nvarchar(max)
set @myvar = '154,155,156,157,158,159,160'

select len(@myvar) - len(replace(@myvar,',',''))

استفاده از مقادیر یک جدول به عنوان نام ستون های جدول دیگر در SQL Server

حذف همه جداول، ویو ها ، فانکشن ها و استورپروسیجرهای یک اسکمای خاص

در اینجا منظور از آرایه یک رشته از پارامترها است که با کاما از یکدیگر جدا شده اند (بطور مثال '1,2,3,4,5') که به عنوان ورودی به یک فانکشن ارسال می کنیم و از آن درون فانکشن استفاده می کنیم:

ممکن است در Sql نیاز به تکرار یک کد (حلقه) داشته باشید. دو مثال را با هم بررسی میکنیم؛ اولی ایجاد حلقه با استفاده از متغیر و دومی با استفاده از داده های جدول دیگر

با استفاده از دستور Pivot می توان از داده های سطر ها به عنوان ستون استفاده کرد:

ابتدا DateType های پرکاربرد و پیشنهاد شده رو بررسی می کنیم بعد هم به بررسی همه انواع داده می پردازیم:

(nchar(n : برای رشته های با طول ثابت n کاراکتر

(nvarchar(n : برای رشته با طول متغیر و حداکثر تا n کاراکتر

(numeric(p,s : برای اعداد؛ مقدار p تعداد ارقام صحیح و اعشار است و s تعداد اعشار است که اگر آن را صفر بدهید عدد صحیح می شود.

int: اعداد صحیح بین 2,147,483,647 تا 2,147,483,648 -

bit : صفر و یک ویا خالی می پذیرد که کاربرد boolean را دارد.

(varbinary(max : داده های باینری (ذخیره فایل در پایگاه داده)

با استفاده از دستور Order By می توان خروجی Select را بر پایه ی داده های يک يا چند ستون برحسب شاخص هايی مثل حروف الفبا ، اعداد ، تاریخ و ...مرتب کرد:

Select * 
From MyTable
Order By Code,Name

همچنین با استفاده از DESC