មាតិកា
I. សេចក្តីផ្តើម
II. ការប្រើប្រាស់ COALESCE()
III. ការប្រើប្រាស់ ANSI NULLS
IV. ការប្រើប្រាស់ ISNULL()
V. ការប្រើប្រាស់ Is null និង Is not null
VI. ការប្រើប្រាស់ NULL comparison
I. សេចក្តីផ្តើម
នៅក្នុង SQL Server, NULL តំណាងអោយ data ដែល missing ឬក៏ unknown។ មានន័យថា NULL មិនមែនជា value ពិតប្រាកដឡើយ។ វាត្រូវបានគេកំណត់ថាជា placeholder សម្រាប់អោយ value។ នេះក៏ជាហេតុផលដែលយើងមិនអាចប្រៀបធៀប NULL ជាមួយនឹង value ផ្សេងទៀត ហើយក៏មិនមែនជាមួយនឹង NULL ផ្សេងទៀតដែរ។
II. ការប្រើប្រាស់ COALESCE()
COALESCE() ត្រូវបានប្រើជាមួយនឹង arguments តាមលំដាប់ ហើយ return មកវិញនូវ current value នៃ first expression ដែលយើងបានធ្វើការ initial មិនមែនជា NULL ឡើយ។
ទោះបីជា function ISNULL() មានលក្ខណៈស្រដៀងទៅនឹង function COALESCE() ដែលទទួលយកតែ parameters ចំនួន២ប៉ុណ្ណោះ។ Parameter មួយសម្រាប់ check ហើយ parameter មួយទៀតប្រើប្រាស់ ប្រសិនបើ parameter ទីមួយគឺ NULL។
III. ការប្រើប្រាស់ ANSI NULLS
ANSI NULLS ត្រូវបាន set ទៅ off ដើម្បីអនុញ្ញាតអោយមាន a =/<> comparison នៃ null values។
ឧបមាថាយើងមានទិន្នន័យដូចខាងក្រោម៖
ជាមួយនឹងការប្រើប្រាស់ ANSI NULLS ដែល set ទៅ on, យើងទទួលបាន Query:
នៅពេលដែលធ្វើការ execute យើងនឹងទទួលបាន no result។ ប្រសិនបើយើង set ANSI NULL ទៅជា off វិញ យើងនឹងទទួលបាន
ពេលនោះវានឹង return id 0
IV. ការប្រើប្រាស់ ISNULL()
ISNULL() function មាន parameters ចំនួន២ វានឹង return value មកវិញប្រសិនបើតម្លៃនៅ parameter ទីមួយគឺ null។
Parameters:
- check expression: សំដៅទៅលើ expression មួយចំនួននៃប្រភេទទិន្នន័យណាមួយ
- replacement value: សំដៅទៅលើ value ដែលនឹងត្រូវបានគេ return ត្រឡប់មកវិញប្រសិនបើ check expression គឺ null។ replacement value ត្រូវតែជាប្រភេទទិន្នន័យដែលអាច convert ទៅជាប្រភេទទិន្នន័យរបស់ check expression
IsNull() function គឺ return នូវប្រភេទទិន្នន័យដូចគ្នាទៅនឹង check expression
V. ការប្រើប្រាស់ Is null និង Is not null
NULL មិនមែនជា value ឡើយ យើងមិនអាចប្រើប្រាស់ operator ជាមួយនឹង nullបានទេ។ ដើម្បីពិនិត្យថាតើ column ឬក៏ variable មានតម្លៃ null ឬក៏អត់ យើងអាចប្រើប្រាស់ is null
DECLARE @Date date = ‘2020-02-25’ |
Statement ខាងក្រោមនឹងធ្វើការជ្រើសរើសយក value ចំនួន 6 ដែលគ្រប់រាល់ comparisons ជាមួយនឹង null values ត្រូវបានដាក់អោយទៅជា false ឬក៏ unknown
ធ្វើការ set តម្លៃនៃ @Date variable ទៅជា NULL ពេលនោះ statement ខាងក្រោមនឹង return នូវតម្លៃលេខ 5
IV. ការប្រើប្រាស់ NULL comparison
NULL គឺជា special case នៅពេលដែលគេយកវាមកធ្វើការ comparison។ ឧបមាថាយើងមានទិន្នន័យដូចខាងក្រោម៖
ជាមួយនឹង Query
វានឹង return id 1
វានឹង return id 2
វានឹង return id 0
វានឹង return ids 1 និង 2 ប្រសិនបើយើងចង់បាន NULLs អោយក្លាយទៅជា “counted” ដូចទៅនឹង values នៅក្នុងសញ្ញា =, <> comparison វាត្រូវតែ Convert ទៅជាប្រភេទទិន្នន័យដែលអាចរាប់បាន
ឬក៏