9.2. �Ƚϲ�����

�����ıȽϲ����������ã����� 9-1��ʾ��

�� 9-1. �Ƚϲ�����

����������
< ��
> ����
<= С�ڵ���
>= ���ڵ���
= ����
<> or != ������

ע��: !=�������ڷ������׶α�ת����<>�����ܰ�!=��<>������ʵ��Ϊ����ͬ���¡�

�Ƚϲ����������������п��ԱȽϵ��������͡����бȽϲ���������˫Ŀ�����������Ƿ���boolean���ͣ�������1 < 2 < 3�ı���ʽ�ǷǷ��ģ���Ϊû��<���������ԱȽ�һ������ֵ��3����

���� 9-2��ʾ��Ҳ��һЩ�Ƚ�ν�ʡ� ���ǵ���Ϊ�Ͳ��������񣬵��Ǿ��� SQL ��׼��Ҫ��������﷨��

�� 9-2. �Ƚ�ν��

�����
a BETWEEN x AND y ��x��y֮��
a NOT BETWEEN x AND y ����x��y֮��
a BETWEEN SYMMETRIC x AND y �ڶԱȽ�ֵ�����λ��x��y֮��
a NOT BETWEEN SYMMETRIC x AND y �ڶԱȽ�ֵ�����λ��x��y֮��
a IS DISTINCT FROM b �����ڣ���ֵ������һ����ֵͨ
a IS NOT DISTINCT FROM b���ڣ���ֵ������һ����ֵͨ
expression IS NULL �ǿ�ֵ
expression IS NOT NULL ���ǿ�ֵ
expression ISNULL �ǿ�ֵ���DZ�׼�﷨��
expression NOTNULL ���ǿ�ֵ���DZ�׼�﷨��
boolean_expression IS TRUE ��
boolean_expression IS NOT TRUE Ϊ�ٻ�δ֪
boolean_expression IS FALSE ��
boolean_expression IS NOT FALSE Ϊ�����δ֪
boolean_expression IS UNKNOWN ֵΪδ֪
boolean_expression IS NOT UNKNOWN �������

���˱Ƚϲ��������⣬�����BETWEEN�ṹҲ����ʹ�ã�

a BETWEEN x AND y

����

a >= x AND a <= y

ע��BETWEEN��Ϊ�յ�ֵ�ǰ����ڷ�Χ�ڵġ� NOT BETWEEN�������෴�Ƚϣ�

a NOT BETWEEN x AND y

����

a < x OR a > y

BETWEEN SYMMETRIC��BETWEEN��ͬ������BETWEEN SYMMETRIC��Ҫ��AND��ߵIJ���С�ڻ�����ұߵIJ�����������������С�ڵ����Ҳ������������������Զ����������������ǻ�Ӧ��һ���ǿշ�Χ��

����һ������Ϊ��ʱ����ͨ�ıȽϲ�������õ��գ���ʾ"δ֪"���� ���������١����磬7 = NULL�õ��գ�7 <> NULL Ҳһ�������������Ϊ�����ʣ�����ʹ�� IS [ NOT ] DISTINCT FROMν�ʣ�

a IS DISTINCT FROM b
a IS NOT DISTINCT FROM b

���ڷǿ����룬IS DISTINCT FROM��<> ������һ��������������������붼Ϊ�գ����᷵�ؼ١������ֻ��һ������Ϊ�գ� ���᷵���档���Ƶأ�IS NOT DISTINCT FROM ���ڷǿ��������Ϊ��=��ͬ�����ǵ��������붼Ϊ��ʱ�������棬 ���ҵ�ֻ��һ������Ϊ��ʱ���ؼ١���ˣ� ��Щν��ʵ���ϰѿ�ֵ����һ����ͨ����ֵ������"unknown"��

Ҫ���һ��ֵ�Ƿ�Ϊ�գ�ʹ������Ľṹ��

expression IS NULL
expression IS NOT NULL

���ߵ�Ч����������׼�Ľṹ��

expression ISNULL
expression NOTNULL

��Ҫдexpression = NULL����ΪNULL�Dz�"����"NULL�ģ����ƴ���һ��δ֪��ֵ����������޷�֪������δ֪����ֵ�Ƿ���ȣ���������Ϊ���� SQL ��׼��

��ʾ: ��ЩӦ�ÿ���Ҫ�����ʽexpression = NULL��expression�ó���ֵʱ�����档����ǿ�ҽ���������Ӧ���޸ij���ѭ SQL ��׼�����ǣ���������޸IJ�������ɣ���ô���ǿ���ʹ�����ñ���transform_null_equals�����������PostgreSQL����x = NULL�Ӿ�ת����x IS NULL��

����ֵҲ����ʹ�����нṹ���в��ԣ�

boolean_expression IS TRUE
boolean_expression IS NOT TRUE
boolean_expression IS FALSE
boolean_expression IS NOT FALSE
boolean_expression IS UNKNOWN
boolean_expression IS NOT UNKNOWN

��Щ�ṹ�����Ƿ������٣����������ؿ�ֵ����ʹ�������ǿ�Ҳ��ˡ���ֵ���뱻�����߼�ֵ"δ֪"�� ��ע��ʵ����IS UNKNOWN��IS NOT UNKNOWN�ֱ���IS NULL��IS NOT NULL��ͬ�� ֻ���������ʽ�����Dz������͡�

���� 9-3����ʾ�� Ҳ��һЩ�Ƚ���صĺ������á�

�� 9-3. �ȽϺ���

��������ʾ��ʾ�����
num_nonnulls(VARIADIC "any") ���طǿղ���������num_nonnulls(1, NULL, 2)2
num_nulls(VARIADIC "any") ���ؿղ���������num_nulls(1, NULL, 2)1