اوراکل در نسخه 23c دیتا تایپ Boolean را در SQL معرفی کرده است(البته این نوع داده قبلا در PLSQL وجود داشته است) و با این قابلیت، در هنگام ساخت جدول می توان نوع داده ستونها را به Boolean تنظیم کرد.
SQL> CREATE TABLE jadval1 (id NUMBER, is_accept BOOLEAN); Table created
از کلمه BOOL هم می توان به جای Boolean استفاده کرد.
SQL> CREATE TABLE jadval1 (id NUMBER, is_accept BOOL); Table created
برای ستونهای از نوع Boolean میتوان مقدار پیش فرض تنظیم نمود:
SQL> CREATE TABLE jadval1 (id NUMBER, is_accept BOOL DEFAULT FALSE); Table created
برای مقداردهی ستون is_accept می توانیم از سه کلمه کلیدی TRUE، FALSE و NULL استفاده کنیم:
SQL> insert into jadval1 values(1,true); 1 row inserted SQL> insert into jadval1 values(2,null); 1 row inserted SQL> insert into jadval1 values(3,false); 1 row inserted SQL> select * from jadval1; ID IS_ACCEPT ---------- ---------- 1 1 2 3 0
البته برای مقداردهی این ستون، صرفا به سه کلمه کلیدی فوق محدود نیستیم و از رشته ها هم می توانیم استفاده کنیم.
رشته های زیر معادل FALSE هستند:
'false' , 'no' , 'off' , '0' , 'f' , 'n'
رشته های زیر معادل TRUE هستند:
'true', 'yes', 'on', '1', 't', 'y'
مثال زیر را ببینید:
SQL> CREATE TABLE jadval1 (id NUMBER, c1 BOOL,c2 BOOL,c3 BOOL,c4 BOOL,c5 BOOL,c6 BOOL,c7 BOOL,c8 BOOL); Table created SQL> insert into jadval1 values(1,true,'true', 'yes', 'on', '1', 't', 'y',false); 1 row inserted SQL> insert into jadval1 values(2,false,'false' , 'no' , 'off' , '0' , 'f' , 'n',true); 1 row inserted
عدد صفر هم به منزله false می باشد و مابقی اعداد به معنی TRUE هستند:
SQL> insert into jadval1 values(1,0,66,9.10); 1 row created. SQL> select * from jadval1; ID C1 C2 C3 --- ------ ------ ----- 1 FALSE TRUE TRUE
در زمان اجرای پرس و جو باید در نظر داشته باشیم که عملگرهای AND و OR برای ستونهای با نوع داده BOOLEAN هم قابل استفاده هستند:
SQL> select * from jadval1 where c1 and c2; no rows selected SQL> select * from jadval1 where c3 and c2; ID C1 C2 C3 --- ------ ------ ----- 1 FALSE TRUE TRUE
Comment (1)