Se304 lec9
-
Upload
bymbaaodoo -
Category
Documents
-
view
371 -
download
3
Transcript of Se304 lec9
Өгөгдлийг боловсруулах функцуудыг ашиглах
SE304 ӨГӨГДЛИЙН САНГИЙН УДИРДАХ СИСТЕМ
Батлав: ПХТ-ийн эрхлэгч Г.ЭРДЭНЭЧИМЭГ
ЛЕКЦ №9
ШУТИС-Ñ¿ÒÑ, Ìàãèñòð Ë.Áàòáèëýã ([email protected], +976-88515155)
Функц гэдэг нь өгөгдлүүдийг
боловсруулах, удирдах ажиллагааг
хөнгөвчилөхөд зориулагдсан үйлдлүүд
юм. Функцын жишээгээр бид өмнөх
хичээлд мөрийн араас хоосон тэмцэгтийг
устгахад ашигласан RTRIM() функцыг
нэрлэж болно.
Бүх ӨСУС-д дэмждэг SQL операторуудаас
(жишээ нь select) ялгаатай нь ӨСУС-д нь
төрөл бүрийн функцуудыг ашигладаг.
Зөвхөн цөөн тооны функцууд зарим
ӨСУС-д ижилхэн хэлбэртэй байдаг. Гэхдээ
бүх төрлийн функцууд ӨСУС бүрд байдаг
хэдий ч тэдгээрийг ашиглах нь ихээхэн
зөрөөтэй байдаг.
функц Ялгаа /ашигладаг функцууд/
Мөрийн
хэсгийг таслах
Access-д MID(), DB2, Oracle, PostgreSQL-д
SUBSTR(), MySQL, SQL Server, SyBase-д
SUBSTRING()
Өгөгдлийн
төрлийн
өөрчлөх
Access, Oracle –д төрөл өөрчлөх бүрт өөрийн
функцэй, BD2, PostgreSQL-д
CAST(), MySQL, SQL Server, SyBase-д
CONVERT()
Тухайн ор
сарыг авах
Access NOW(), Oracle SYSDATE(), DB2,
PostgreSQL-д Current_Data(), MySQL
CURDATA(), SQL Server, SyBase-д GETDATA()
ӨСУС-ийн функуудын ялгаанууд
Эндээс функц ашиглан бичсэн SQL операторууд нь
нэг ӨСУС-д ажиллаад нөгөөд ажиллахгүй гэдэг нь
харагдаж байна. Иймээс олонхи SQL програм
зохиогчид ажиллагаа нь зөрдөг функцуудыг
ашиглахгүй байхыг эрмэлздэг.
Санамж: Та функцыг ашиглах тохиолдолд
програмдаа тайлбарыг сайн оруулж өгснөөр дараа
нь тухайн програмыг өөр ӨСУС-д болон бусад
хүмүүс ашиглахад дөхөмтэй болдогийг санаарай.
Ихэнх SQL шийдлүүд нь доорх төрлийн функуудыг дэмждэг
•Текстийн функцууд. Эдгээрийг текстийг таслах, дүүргэх, нэг
регистрээс нөгөө регистрт /том, жижиг/ шилжүүлэх гэх мэтийн текстэн
мөрийг удирдахад ашигладаг
•Тоон функцууд. Тоон төрлийн өгөгдлүүдэд математикийн үйлдлүүд
хийхэд ашиглана. Жишээ нь абсальют хэмжээг олох, алгебрын үйлдүүд
хийх зэрэг
•Он сар болон цагийн функцууд. Цаг хугацааны утгуудыг удирдах
болон тэдгээрээс тодорхой хэсгүүдийг салган авахад ашиглана. Жишээ
нь цаг хугацааны ялгаварыг олох, он, сар, өдрийг таслан авах гэх мэт
•Системийн функцууд. ӨСУС-д зориулагдсан тусгай мэдээллүүдийг
авах функцууд. Жишээ нь хэрэглэгчийн бүртгэлийн мэдээллийг авах гэх
мэт.
Текстийг удирдах функцууд
Текстийг удирдах функцын жишээгээр Тооцоологдох талбар
үүсгэх хичээлд RTRIM() функцыг үзсэн. Дараах жишээ нь
текстийг удирдах UPPER() Функцийн ажиллагааг үзүүлж
байна. Жишээ:
SELECT vend_name, UPPER(vend_name) AS vend_name_upcase FROM
Vendors ORDER BY vend_name;
Командын үр дүн:
Vend_name Vend_name_upcase
Bear Emplorium BEAR EMPLORIUM
Bears R Us BEARS R US
Doll Hose Inc. DOLL HOSE INC.
UPPER() Функц нь текстийг том үсэг рүү шилжүүлдэг
Доорх хүснэгтэд текстийг удирдахад хамгийн их хэрэглэгддэг функцуудын
жагсаалтыг үзүүллээ.
Функц Тайлбар
LEFT() Мөр эсвэл текстийн зүүн талаас тэмдэгтийг
авна
LENGTH() [бас
DATALENGTH() эсвэл LENG()]
Мөрийн уртыг авчирна
LOWER() [Access-д LCASE()] Мөрийг жижиг үсэг рүү шилжүүлэн
LTRIM() Мөрийн зүүн талаас хоосон зайг хасна
RIGHT() Мөр эсвэл текстийн баруун талаас
тэмдэгтийг авна
RTRIM() Мөрийн баруун талаас хоосон зайг хасна
SOUNDEX() Мөрийн SOUNDEX утгыг буцаана
UPPER() [Access-д UCASE()] Мөрийг том үсэг рүү шилжүүлнэ
Энэ хүснэгтэнд байгаа SOUNDEX() функцын талаар
тайлбар өгөх хэрэгтэй.
SOUNDEX энэ нь текстэн мөрийг дуудагдах хэлбэрээр
тодорхойлсон үсэг-тоон шаблонд хөрвүүлэх алгоритм юм.
SOUNDEX() функц нь мөрийг яаж бичсэнээр нь биш яаж
дуудагдахаар нь жишдэг. SOUNDEX нь SQL-ийн үндсэн
концепцид ордоггүй хэдий ч ихэнх ӨСУС-д дэмждэг.
Санамж: SOUNDEX() функцыг MicroSoft Access, Postgre
SQL дэмждэггүй тул доох жишээ эдгэээр ӨСУС-д
ажиллахгүй.
Customers хүснэгтэд Kids Place харилцагчийн
холбогдох хүн нь Michelle Green гэж байгаа Тэгвэл
энэ нь алдаа байсан байгаад холбогдох хүний
нэрийг Micheal Green гэж бичдэг байсан бол
ердийн хайлтаар бид ямарч бичлэг олохгүй.
SELECT cust_name, sust_contract FROM Customers
WHERE cust_contract=’Micheal Green’;
Командын үр дүн:
cust_name cust_contact
Одоо хайлтыг SOUNDEX() функцыг ашиглан
хийвэл
SELECT cust_name, cust_contcact FROM
Customers WHERE
SOUNDEX(cust_contract)=SOUNDEX(‘Micheel
Green’);
Командын үр дүн:
Cust_namecust_contact
Kids Place Michelle Green
Энэ Where нь cust_contract талбар болон
‘Michael Green’ утгуудыг SOUNDEX()
функцыг ашиглан жишиж байна. Мichelle
Green ба гэсэн үгнүүд ижилхэн дуудагдах
тул тэдгээрийн SOUNDEX() утга нь
тохирсоноор SQL оператор хайсан утгыг
олж байна.
Тоон функцууд.
Тоон функцууд нь зөвхөн тоон өгөгдлүүдэд
арифметикийн, тригнометрийн үйлдлүүд
хийдэг тул текстэн болон цаг хугацааны
функцуудаас бага ашиглагддаг. Функцууд
дотроос тоон функцууд нь ихэнх ӨСУС-д
илүү стандарт хэлбэрээр ажиллана.