1-mavzu. Ma’lumotlar bazasi obyektlarini yaratish



Download 0,87 Mb.
bet7/48
Sana23.06.2022
Hajmi0,87 Mb.
#694675
1   2   3   4   5   6   7   8   9   10   ...   48
Bog'liq
мавзулар MBDM

Jadval funksiyalar
Jadval funksiyalar Table tipidagi qiymatni qaytaradi, shuning uchun bunday funksiyalarda RETURNS operatoridan keyin TABLE yoziladi:
USE SampleDb;

GO
CREATE FUNCTION EmployeesInProject (@projectNumber CHAR(4))


RETURNS TABLE
AS RETURN (SELECT FirstName, LastName
FROM Works_on, Employee
WHERE Employee.Id = Works_on.EmpId
AND ProjectNumber = @projectNumber)

Employees_in_Project funksiyasidan foydalanish quyidagi misolda keltirilgan:


USE SampleDb;

SELECT *
FROM EmployeesInProject('p3')


Natija:



Ma`lumotni bir tipdan boshqa tipga o`tkazish
Boshqa tipdagi ma`lumotlarni saqlaydigan ustunga boshqa tipdagi qiymatni tayinlaganimizda yoki har xil tipdagi ma`lumotlarni o`z ichiga olgan operasiyalarni bajarganimizda, SQL Server ma`lumotni kerakli tipga o’girishga harakat qiladi. Biroq, barcha tipni o’girishlar avtomatik ravishda SQL Server tomonidan bajarilishi mumkin emas. SQL Server quyi ustuvor tipdan yuqori ustuvor tipga bevosita o’girishni amalga oshirishi mumkin. Prioritetlar jadvali (qanchalik baland bo'lsa, ustunlik shuncha yuqori bo'ladi):
datetime
smalldatetime
float
real
decimal
money
smallmoney
int
smallint
tinyint
bit
nvarchar
nchar
varchar
char

Ya'ni, SQL Server avtomatik ravishda 100.0 (float) sonini sana va vaqtga (datetime) o’girishi mumkin.


Yuqori ustuvor tiplardan quyi ustuvor tiplarga o’girishni amalga oshirish zarur bo'lgan hollarda, bilvosita o’girish kerak. Buning uchun T-SQL ikkita funksiyani taqdim etadi: CONVERT va CAST.
CAST funksiyasi bir tipdagi ifodani boshqasiga o`zgartiradi. Uning quyidagi shakli mavjud:
CAST(ifoda AS ma`lumot_tipi)
Misol tariqasida quyidagi jadvallarni olaylik:
CREATE TABLE Products
(
Id INT IDENTITY PRIMARY KEY,
ProductName NVARCHAR(30) NOT NULL,
Manufacturer NVARCHAR(20) NOT NULL,
ProductCount INT DEFAULT 0,
Price MONEY NOT NULL
);
CREATE TABLE Customers
(
Id INT IDENTITY PRIMARY KEY,
FirstName NVARCHAR(30) NOT NULL
);
CREATE TABLE Orders
(
Id INT IDENTITY PRIMARY KEY,
ProductId INT NOT NULL REFERENCES Products(Id) ON DELETE CASCADE,
CustomerId INT NOT NULL REFERENCES Customers(Id) ON DELETE CASCADE,
CreatedAt DATE NOT NULL,
ProductCount INT DEFAULT 1,
Price MONEY NOT NULL
);

Masalan, buyurtma haqidagi ma`lumotni olishda sonli qiymat va sanani satrga o`zgartiradi:


SELECT Id, CAST(CreatedAt AS nvarchar) + '; total: ' + CAST(Price * ProductCount AS nvarchar)
FROM Orders





Convert
Transformatsiyalarning aksariyati CAST funksiyasi bilan qoplanadi. Agar sizga qo'shimcha formatlash kerak bo'lsa, unda siz CONVERT funksiyasidan foydalanishingiz mumkin. Uning quyidagi shakli mavjud:
CONVERT(ma`lumot_tipi, ifoda[, stil])
Qiymat uzatish shart bo’lmagan uchinchi parametr ma`lumotlarni formatlash uslubini belgilaydi. Ushbu parametr turli xil ma`lumot tiplari uchun turli xil talqinlarga ega bo'lgan sonli qiymatni ifodalaydi. Masalan, sana va vaqtni formatlash uchun ba'zi qiymatlar:

  • 0 yki 100 – sana formati "Mon dd yyyy hh:miAM/PM" (boshlang’ich qiymat)

  • 1 yoki 101 - sana formati "mm/dd/yyyy"

  • 3 yoki 103 - sana formati "dd/mm/yyyy"

  • 7 yoki 107 - sana formati "Mon dd, yyyy hh:miAM/PM"

  • 8 yoki 108 - sana formati "hh:mi:ss"

  • 10 yoki 110 - sana formati "mm-dd-yyyy"

  • 14 yoki 114 - sana formati "hh:mi:ss:mmmm" (24-li vaqt formati)

Pul ma`lumotlarini satrga formatlash uchun ba'zi qiymatlar:
0 - sonning kasr qismida faqat ikkita raqam qoladi (boshlang’ich holat)
1 - sonning kasr qismida faqat ikkita raqam qoladi va raqamlarni ajratish uchun vergul ishlatiladi
2 - sonning kasr qismida faqat to'rtta raqam qoladi.
Masalan, buyurtmalarning sanasini va qiymatini formatlashni qaraylik:
SELECT CONVERT(nvarchar, CreatedAt, 3),
CONVERT(nvarchar, Price * ProductCount, 1)
FROM Orders




Download 0,87 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   48




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish