Se304 lec9

14
Өгөгдлийг боловсруулах функцуудыг ашиглах SE304 ӨГӨГДЛИЙН САНГИЙН УДИРДАХ СИСТЕМ Батлав: ПХТ-ийн эрхлэгч Г.ЭРДЭНЭЧИМЭГ ЛЕКЦ №9 ШУТИС-Ñ¿ÒÑ, Ìàãèñòð Ë.Áàòáèëýã ([email protected], +976-88515155)

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 оператор хайсан утгыг

олж байна.

Тоон функцууд.

Тоон функцууд нь зөвхөн тоон өгөгдлүүдэд

арифметикийн, тригнометрийн үйлдлүүд

хийдэг тул текстэн болон цаг хугацааны

функцуудаас бага ашиглагддаг. Функцууд

дотроос тоон функцууд нь ихэнх ӨСУС-д

илүү стандарт хэлбэрээр ажиллана.

АНХААРАЛ ХАНДУУЛСАНД

БАЯРЛАЛАА