۱۷ مطلب با کلمه‌ی کلیدی «SELECT» ثبت شده است

توابع پردازش رشته - CHR

این تابع کاراکتر معادل عدد را، برمی‌گرداند. برای فهمیدن اینکه هر عدد چه کاراکتری را برمی‌گرداند به جدول کدهای ASCII مراجعه کنید(یا در یک ادیتور متن کلید ALT را نگه‌داشته و عدد مورنظر را تایپ کنید)

SELELCT * FROM HOLO;
ID NAME
------- ----------
1
2 MAHDI

در حقیقت SELECT‌ زیر به CHR میگه که ID ها کد ASCII هستند و CHR کاراکتر معادل اعداد رو برمی‌گردونه:

SELECT CHR(ID) FROM HOLO;

CHR(
----

۳۰ فروردين ۹۴ ، ۱۵:۱۰ ۰ نظر
مهدی غفاری

عملگر IS Null و IS NOT NULL

توجه داشته باشید بسیاری از کاربران مقدار NULL را با فضای خالی Space)، 0) و یا کلمه NULL (به صورت رشته ای) اشتباه می‌گیرند، در واقع در بانک اطلاعاتی به مقدار فیلدی NULL گفته می‌شود که در هنگام وارد کردن رکورد‌ها مقدار آن فیلد توسط کاربر خالی رها شود. برای مثال از جدول PERSON استفاده می‌کنیم.

نکته: برای پیدا کردن فیلدهای NULL در دیتابیس باید به طور مشخص از دستور IS NULL استفاده می‌شود.

CREATE TABLE HOLO(ID NUMBER, NAME VARCHAR2(20));
INSERT INTO HOLO VALUES(1, NULL);
INSERT INTO HOLO VALUES(2, 'MAHDI');
SELECT * FROM HOLO WHERE NAME IS NULL;
ID        NAME
--------- ---------------
1

IS NOT NULL

عملگر NOT، می‌تواند با IS NULL همراه گردد. دستور IS NOT NULL بر عکس دستور IS NULL عمل می‌کند، و داده‌هایی را به شما نشان می‌دهد که مقدار آن‌ها NULL نباشد. به مثال زیر توجه کنید.

SELECT * FROM HOLO WHERE NAME IS NOT NULL;
ID             NAME
-------------- --------
2 MAHDI

نکته: کوئری‌هایی مانند زیر در دیتابیس اوراکل اشتباه‌اند:

SELECT * FROM HOLO WHERER NAME = NULL;
۳۰ فروردين ۹۴ ، ۱۴:۰۰ ۰ نظر
مهدی غفاری

رفع مشکل استفاده از توابع گروهی

در مورد توابعی مانند تابع soundex چون به ازای هر رکورد یک result برمی‌گردونند پس نوشتن کوئری‌هایی مانند زیر مشکلی ندارد:

SELECT SOUNDEX(NAME), NAME FROM T2;
SOUN NAME
----- ------------
A256 MOHAMMAD
J130 MAHDI
S500 MOHSEN
C540 FARZAD
A400 EHSAN

ولی در مورد تابع‌های تک RESULT ای مثل SUM مشکلاتی ایجاد می‌شود.

ادامه مطلب...
۳۰ فروردين ۹۴ ، ۱۳:۱۴ ۰ نظر
مهدی غفاری

توابع گروهی - Sum, Avg, Max, Min

این فانکشن‌ها به ازای داده‌های یک فیلد، فقط یک مقدار را بر می‌گردانند. در این بخش، برخی از توابع گروهی را به شما معرفی می‌کنیم. برای این قسمت، از جدول PERSON استفاده می‌کنیم:

SQL> SELECT * FROM PERSON;

NAME FAMILY AGE ID-PERSON
-------- ----------- ------------- ----------
MOHAMMAD GHAFFARI 23 1
MAHDI GHAFFARI 21 2
MOHSEN GHAFFARI 19 3
FARZAD KARKHANI 26 4
EHSAN JALALI 23 5

ادامه مطلب...
۳۰ فروردين ۹۴ ، ۱۱:۴۹ ۰ نظر
مهدی غفاری

توابع پردازش رشته - Soundex

نوع: فانکشن چند RESULT ای (به ازای هر رکورد یک مقداری بر می‌گرداند)

دسته: فانکشن‌های پردازش رشته

این فانکشن تلفظ یک رشته را بر می‌گرداند. به عبارت دیگر، اگر به دنبال کلمه‌ای می‌گردید، که تلفظ درست آن را نمی‌دانید، می‌توانید از این تابع استفاده کنید.

مثال:

CREATE TABLE T2(NAME VARCHAR2(20));
INSERT INTO T2 VALUES ('MAHDI');
INSERT INTO T2 VALUES ('EHSAN');
INSERT INTO T2 VALUES ('FARZAD');
COMMIT;

ادامه مطلب...
۳۰ فروردين ۹۴ ، ۱۱:۲۵ ۰ نظر
مهدی غفاری

تغییر داده‌ها با استفاده از UPDATE

دستور UPDATE این امکان را به شما می‌دهد تا بتوانید، داده‌های مورد نظرتان را تغییر دهید. برای مثال از جدول PERSON استفاده می‌کنیم.

SELECT *
FROM PERSON;
NAME       FAMILY                AGE  ID_PERSON
---------- ------------ ------------ -----------
MOHAMMAD GHAFFARI 23 1
MAHDI GHAFFARI 21 2
MOHSEN GHAFFARI 19 3
FARZAD KARKHANI 25 4
EHSAN JALALI 23 5

حال با استفاده از دستور UPDATE، افرادی را که نام آن‌ها EHSAN می‌باشد را تغییر، و ALI را جایگزین آن می‌نماییم.

UPDATE PERSON
SET NAME = 'ALI';
WHERE NAME = 'EHSAN';
1 row updated.

جدول PERSON را مشاهده کنید.

ادامه مطلب...
۳۰ فروردين ۹۴ ، ۱۰:۵۰ ۰ نظر
مهدی غفاری

دستور DEFAULT

دستور CREATE را در زیر مشاهده کنید. در این دستور مقدار 222 پیش فرض فیلد ID می‌باشد. پیش فرض به معنای آن است که هرگاه مقداری برای فیلد ID تعین نشد مقدار پیش فرض تعریف شده، در فیلد قرار می‌گیرد.

CREATE TABLE D1(ID NUMBER DEFAULT 222);

برای تغییر ساختار جدول به شکل زیر عمل می‌کنیم:

ALTER TABLE D1 ADD NAME VARCHAR2(20);
INSERT INTO D1(NAME) VALUES('MAHDI');
SELECT * FROM D1;
ID NAME
--------- -------------
222 MAHDI
INSERT INTO D1(ID, NAME) VALUES(NULL, 'MAHDI');
SELECT * FROM D1;
ID NAME
--------- -------------
222 MAHDI
MAHDI

نکته: توجه کنید حتی اگه ID رو NULL رد کنیم (به هر شکل) مقدار DEFAULT اعمال نمی‌شه و فقط زمانی مقدار DEFAULT اعمال میشه که در دستور INSERT فیلد ما ID حظور نداشته باشد.

۲۹ فروردين ۹۴ ، ۱۰:۱۱ ۰ نظر
مهدی غفاری