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 функциясы CAST функциясына эквивалентті. datetime және smalldatetime типтес өрнектерді күн мерзімі-стилі типтес аргументіне алмастыру үшін анықталады.
Сандық өрнекті көрсететін жолдық мән. Ұзындық және үтірден-кейінгі-таңбалар аргументтері қажет емес. Үнсіз келісім шарт бойынша ұзындық 10 нжәне 0-ге тең.
Жолдармен жұмыс істеу үшін қажет функциялар
Сипаттамасы
ASCII (жол)
ASCII бүтінсандық кодты қайтарады (0-255 диапазонында) берілген жолдың солға қарай тұрған символды.
CHAR (ASCII-код)
ASCII-кодқа сәйкес 0-255 диапазонында символды қайтарады. Бұл диапазонға жатпайтын мәндер үшін NULL қайтарады.
Жолдағы ішкі жолдың бастапқы орынын қайтарады. Жолдағы бірінші орында нөмірі 1 болады. Егер ішкі жол табылмаса, онда 0-ді қайтарады. Егер сонымен бірге бастапқы орынды берсек, онда ізденіс осы орыннан бастап ізделінеді.
DIFFERENCE (жол1, жол2)
0-ден (нашар сәйкестік) 4-ке дейін (жақсы сәйкестік) диапазонында SOUNDEX мәндерді салыстыру жолы арқылы алынған жолдық өрнектерден айырмашылығы болып келеді.