SQL предикаты – бұл қарапайым қисын өрнек, оның мәні ақиқат, жалған не белгіссіз болу мүмкін. Жалпы алғанда, нәтижесі келесі типке және ANSI стандартына сәйкес
өрнек1 = өрнек2
егер, өрнек1, өрнек2 не екеуіде NULL тең болса. Бұл ереже салыстыру операторына қарамайды, ол өрнекте тең, тең емес, үлкен, кіші не т.б.
Предикатты болдырмау NOT операторы және екі предикаттарды біріктіру AND не OR операторлары жай емес екілік қисынды қолданады, ал үштік қисынның қызмет ету сызбасы кесте 2 берілген.
Кесте 2 – Предикаттар үшін үштік қисында қолдану
p
|
q
|
NOT p
|
p AND q
|
p OR q
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
TRUE
|
TRUE
|
Белгіссіз
|
FALSE
|
Белгіссіз
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
FALSE
|
FALSE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
Белгіссіз
|
TRUE
|
FALSE
|
Белгіссіз
|
Белгіссіз
|
TRUE
|
Белгіссіз
|
Белгіссіз
|
TRUE
|
Белгіссіз
|
FALSE
|
Белгіссіз
|
FALSE
|
Белгіссіз
|
Белгіссіз
|
Белгіссіз
|
Белгіссіз
|
Белгіссіз
|
Белгіссіз
|
Тұрақтылар, функциялар және өрнектер
SELECT кілттік сөзінен кейін кездесетін қайтарылатын мәндер тізімінде бағандар атауларынан басқа, тұрақтылар, функциялар және өрнектер болады.
Сандық мәліметтер үшін SQL төрт стандартты арифметикалық амалдарды (+, -, * және /) қайтарады, сонымен қатар, модуль бойынша бөлу не бүтінсандық бөлуден қалдық алу (%).
Transact SQL (+) операторы екі символдық жолды біріктіру үшін қолданылады.
SQL скалярлық функциялардың реті анықталған. Скалярлық функция литерал, баған не өрнек атауы болу мүмкін аргументтерді қабылдайды. Егер фукнцияда баған атауы берілсе, онда ол қалыптасқан кестедегі әр жолдың баған мәнінде қолданылады.
Үшінші кестеде SQL Server қамтамасыз ететін негізгі скалярлық функциялардың тізімі беріледі:
Кесте 3 – SQL Server-мен қамтамасыз етілетін функциялар
Типті алмастыру функциялары | Сипаттамасы |
CAST (өрнек AS мәліметтер-типі (ұзындығы))
CAST (өрнек AS мәліметтер-типі (үтірден-кейінгі-мәндердің-дәлдігі))
|
Өрнекті берілген мәліметтер типіне және ұзындығына алмастырады. Ұзындық – бұл қажет емес аргумент, char, varchar, binary және varbinary типтері үшін аргумент мәні 1-ден 8000-ға дейін; nchar және nvarchar типтері үшін 1-ден 4000-ға дейін. Үнсіз келісім шарт бойынша ұзындығы 30-ға тең. Сандық мәліметтердің типтері үшін дәлдік пен үтірден кейінгі мәндердің саны беріледі.
|
CONVERT (мәліметтер-типі (ұзындығы), өрнек)
CONVERT (мәліметтер-типі (дәлдік, үтірден-кейінгі-таңбалар), өрнек)
CONVERT (мәліметтер-типі (ұзындығы), өрнек, күн мерзімі-стилі)
|
Символдық не сандық өрнектер үшін CONVERT функциясы CAST функциясына эквивалентті. datetime және smalldatetime типтес өрнектерді күн мерзімі-стилі типтес аргументіне алмастыру үшін анықталады.
|
STR (өрнек, ұзындығы, үтірден-кейінгі-таңбалар)
|
Сандық өрнекті көрсететін жолдық мән. Ұзындық және үтірден-кейінгі-таңбалар аргументтері қажет емес. Үнсіз келісім шарт бойынша ұзындық 10 нжәне 0-ге тең.
|
Жолдармен жұмыс істеу үшін қажет функциялар
| Сипаттамасы |
ASCII (жол)
|
ASCII бүтінсандық кодты қайтарады (0-255 диапазонында) берілген жолдың солға қарай тұрған символды.
|
CHAR (ASCII-код)
|
ASCII-кодқа сәйкес 0-255 диапазонында символды қайтарады. Бұл диапазонға жатпайтын мәндер үшін NULL қайтарады.
|
CHARINDEX (ішкі жол, жол)
CHARINDEX (ішкі жол, жол, бастапқы-орыны)
|
Жолдағы ішкі жолдың бастапқы орынын қайтарады. Жолдағы бірінші орында нөмірі 1 болады. Егер ішкі жол табылмаса, онда 0-ді қайтарады. Егер сонымен бірге бастапқы орынды берсек, онда ізденіс осы орыннан бастап ізделінеді.
|
DIFFERENCE (жол1, жол2)
|
0-ден (нашар сәйкестік) 4-ке дейін (жақсы сәйкестік) диапазонында SOUNDEX мәндерді салыстыру жолы арқылы алынған жолдық өрнектерден айырмашылығы болып келеді.
|
LEFT (жол, ұзындық)
|
Жолдың бірінші символдан бастап, берілген ұзындықпен ішкі жолды қайтарады.
|
LEN (жол)
| |
Достарыңызбен бөлісу: |