github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/sem/tree/testdata/eval/comparison (about) 1 # Comparisons. 2 3 eval 4 0 = 1 5 ---- 6 false 7 8 eval 9 0 != 1 10 ---- 11 true 12 13 eval 14 0 < 1 15 ---- 16 true 17 18 eval 19 0 <= 1 20 ---- 21 true 22 23 eval 24 0 > 1 25 ---- 26 false 27 28 eval 29 1 > -1 30 ---- 31 true 32 33 eval 34 1 <= -1 35 ---- 36 false 37 38 eval 39 -1 >= 1 40 ---- 41 false 42 43 eval 44 -1 < 1 45 ---- 46 true 47 48 eval 49 0 >= 1 50 ---- 51 false 52 53 eval 54 true = false 55 ---- 56 false 57 58 eval 59 true != false 60 ---- 61 true 62 63 eval 64 true < false 65 ---- 66 false 67 68 eval 69 true <= false 70 ---- 71 false 72 73 eval 74 true > false 75 ---- 76 true 77 78 eval 79 true >= false 80 ---- 81 true 82 83 eval 84 'a' = 'b' 85 ---- 86 false 87 88 eval 89 'a' != 'b' 90 ---- 91 true 92 93 eval 94 'a' < 'b' 95 ---- 96 true 97 98 eval 99 'a' <= 'b' 100 ---- 101 true 102 103 eval 104 'a' > 'b' 105 ---- 106 false 107 108 eval 109 'a' >= 'b' 110 ---- 111 false 112 113 eval 114 'a' >= 'b' 115 ---- 116 false 117 118 eval 119 '10' > '2' 120 ---- 121 false 122 123 eval 124 1.1 = 1.2 125 ---- 126 false 127 128 eval 129 1.1 != 1.2 130 ---- 131 true 132 133 eval 134 1.1 < 1.2 135 ---- 136 true 137 138 eval 139 1.1 <= 1.2 140 ---- 141 true 142 143 eval 144 1.1 > 1.2 145 ---- 146 false 147 148 eval 149 1.1 >= 1.2 150 ---- 151 false 152 153 eval 154 1.1::decimal = 1.2::decimal 155 ---- 156 false 157 158 eval 159 1.1::decimal != 1.2::decimal 160 ---- 161 true 162 163 eval 164 1.1::decimal < 1.2::decimal 165 ---- 166 true 167 168 eval 169 1.1::decimal <= 1.2::decimal 170 ---- 171 true 172 173 eval 174 1.1::decimal > 1.2::decimal 175 ---- 176 false 177 178 eval 179 1.1::decimal >= 1.2::decimal 180 ---- 181 false 182 183 eval 184 '2015-10-01'::date = '2015-10-02'::date 185 ---- 186 false 187 188 eval 189 '2015-10-01'::date = '2015-10-01'::date 190 ---- 191 true 192 193 eval 194 '2016-07-19 +0:0:0'::date = '2016-07-19'::date 195 ---- 196 true 197 198 eval 199 '2016-7-19 +0:0:0'::date = '2016-07-19'::date 200 ---- 201 true 202 203 eval 204 '2015-10-01'::date != '2015-10-02'::date 205 ---- 206 true 207 208 eval 209 '2015-10-01'::date < '2015-10-02'::date 210 ---- 211 true 212 213 eval 214 '2015-10-01'::date <= '2015-10-02'::date 215 ---- 216 true 217 218 eval 219 '2015-10-01'::date > '2015-10-02'::date 220 ---- 221 false 222 223 eval 224 '2015-10-01'::date >= '2015-10-02'::date 225 ---- 226 false 227 228 eval 229 '12:00:00'::time = '12:00:01'::time 230 ---- 231 false 232 233 eval 234 '12:00:00'::time = '12:00:00'::time 235 ---- 236 true 237 238 eval 239 '12:00:00.000000'::time = '12:00:00'::time 240 ---- 241 true 242 243 eval 244 '12:00:00'::time != '12:00:01'::time 245 ---- 246 true 247 248 eval 249 '12:00:00'::time < '12:00:01'::time 250 ---- 251 true 252 253 eval 254 '12:00:00'::time <= '12:00:01'::time 255 ---- 256 true 257 258 eval 259 '12:00:00'::time > '12:00:01'::time 260 ---- 261 false 262 263 eval 264 '12:00:00'::time >= '12:00:01'::time 265 ---- 266 false 267 268 eval 269 '12:00:00'::time = '12:00:00+0'::timetz 270 ---- 271 true 272 273 eval 274 '12:00:00'::time != '12:00:00+0'::timetz 275 ---- 276 false 277 278 eval 279 '12:00:00'::time < '11:00:00-1'::timetz 280 ---- 281 true 282 283 eval 284 '12:00:00'::time >= '11:00:00-1'::timetz 285 ---- 286 false 287 288 eval 289 '12:00:00'::time > '13:00:00+1'::timetz 290 ---- 291 true 292 293 eval 294 '12:00:00'::time <= '13:00:00+1'::timetz 295 ---- 296 false 297 298 eval 299 '12:00:00-07'::timetz = '12:00:00-08'::timetz 300 ---- 301 false 302 303 eval 304 '12:00:00+09'::timetz = '12:00:00+09'::timetz 305 ---- 306 true 307 308 eval 309 '12:00:00+01'::timetz != '12:00:00-01'::timetz 310 ---- 311 true 312 313 eval 314 '12:00:00+01'::timetz < '12:00:00-01'::timetz 315 ---- 316 true 317 318 eval 319 '12:00:00+01'::timetz <= '12:00:00-01'::timetz 320 ---- 321 true 322 323 eval 324 '12:00:00+10'::timetz > '12:00:00+09'::timetz 325 ---- 326 false 327 328 eval 329 '12:00:00+10'::timetz >= '12:00:00+09'::timetz 330 ---- 331 false 332 333 eval 334 '2015-10-01'::timestamp = '2015-10-02'::timestamp 335 ---- 336 false 337 338 eval 339 '2015-10-01'::timestamp != '2015-10-02'::timestamp 340 ---- 341 true 342 343 eval 344 '2015-10-01'::timestamp < '2015-10-02'::timestamp 345 ---- 346 true 347 348 eval 349 '2015-10-01'::timestamp <= '2015-10-02'::timestamp 350 ---- 351 true 352 353 eval 354 '2015-10-01'::timestamp > '2015-10-02'::timestamp 355 ---- 356 false 357 358 eval 359 '2015-10-01'::timestamp >= '2015-10-02'::timestamp 360 ---- 361 false 362 363 eval 364 '2015-10-01 -01:00'::timestamptz = '2015-10-01 01:00:00'::timestamp 365 ---- 366 true 367 368 eval 369 '12h2m1s23ms'::interval = '12h2m1s24ms'::interval 370 ---- 371 false 372 373 eval 374 '12h2m1s23ms'::interval != '12h2m1s24ms'::interval 375 ---- 376 true 377 378 eval 379 '12h2m1s23ms'::interval < '12h2m1s24ms'::interval 380 ---- 381 true 382 383 eval 384 '12h2m1s23ms'::interval <= '12h2m1s24ms'::interval 385 ---- 386 true 387 388 eval 389 '12h2m1s23ms'::interval > '12h2m1s24ms'::interval 390 ---- 391 false 392 393 eval 394 '12h2m1s23ms'::interval >= '12h2m1s24ms'::interval 395 ---- 396 false 397 398 eval 399 'P1Y2M10DT2H30M'::interval = 'P1Y2M10DT2H31M'::interval 400 ---- 401 false 402 403 eval 404 'P1Y2M10DT2H30M'::interval != 'P1Y2M10DT2H31M'::interval 405 ---- 406 true 407 408 eval 409 'P1Y2M10DT2H29M'::interval < 'P1Y2M10DT2H30M'::interval 410 ---- 411 true 412 413 eval 414 'P1Y2M10DT2H29M'::interval <= 'P1Y2M10DT2H30M'::interval 415 ---- 416 true 417 418 eval 419 'P1Y2M10DT2H29M'::interval > 'P1Y2M10DT2H30M'::interval 420 ---- 421 false 422 423 eval 424 'P1Y2M10DT2H29M'::interval >= 'P1Y2M10DT2H30M'::interval 425 ---- 426 false 427 428 eval 429 '1-2 10 2:30'::interval = 'P1Y2M10DT2H31M'::interval 430 ---- 431 false 432 433 eval 434 '1-2 10 2:30'::interval != 'P1Y2M10DT2H31M'::interval 435 ---- 436 true 437 438 eval 439 '1-2 10 2:29'::interval < 'P1Y2M10DT2H30M'::interval 440 ---- 441 true 442 443 eval 444 '1-2 10 2:29'::interval <= 'P1Y2M10DT2H30M'::interval 445 ---- 446 true 447 448 eval 449 '1-2 10 2:29'::interval > 'P1Y2M10DT2H30M'::interval 450 ---- 451 false 452 453 eval 454 '1-2 10 2:29'::interval >= 'P1Y2M10DT2H30M'::interval 455 ---- 456 false 457 458 eval 459 '1 year 2 months 3 days 4 hours 5 minutes 6 seconds'::interval = '1 year 2 months 3 days 4 hours 5 minutes 7 seconds'::interval 460 ---- 461 false 462 463 eval 464 '1 year 2 months 3 days 4 hours 5 minutes 6 seconds'::interval != '1 year 2 months 3 days 4 hours 5 minutes 7 seconds'::interval 465 ---- 466 true 467 468 eval 469 '1 year 2 months 3 days 4 hours 5 minutes 6 seconds'::interval < '1 year 2 months 3 days 4 hours 5 minutes 7 seconds'::interval 470 ---- 471 true 472 473 eval 474 '1 year 2 months 3 days 4 hours 5 minutes 6 seconds'::interval <= '1 year 2 months 3 days 4 hours 5 minutes 7 seconds'::interval 475 ---- 476 true 477 478 eval 479 '1 year 2 months 3 days 4 hours 5 minutes 6 seconds'::interval > '1 year 2 months 3 days 4 hours 5 minutes 7 seconds'::interval 480 ---- 481 false 482 483 eval 484 '1 year 2 months 3 days 4 hours 5 minutes 6 seconds'::interval >= '1 year 2 months 3 days 4 hours 5 minutes 7 seconds'::interval 485 ---- 486 false 487 488 eval 489 '5 minutes 6 seconds'::interval = '5 minutes 6 seconds'::interval 490 ---- 491 true 492 493 eval 494 'PT2H30M'::interval = 'PT2H30M'::interval 495 ---- 496 true 497 498 # Comparisons against NULL result in NULL. 499 500 eval 501 0 = NULL 502 ---- 503 NULL 504 505 eval 506 0 < NULL 507 ---- 508 NULL 509 510 eval 511 0 <= NULL 512 ---- 513 NULL 514 515 eval 516 NULL = 0 517 ---- 518 NULL 519 520 eval 521 NULL < 0 522 ---- 523 NULL 524 525 eval 526 NULL <= 0 527 ---- 528 NULL 529 530 eval 531 0.1 = NULL 532 ---- 533 NULL 534 535 eval 536 0.1 < NULL 537 ---- 538 NULL 539 540 eval 541 0.1 <= NULL 542 ---- 543 NULL 544 545 eval 546 NULL = 0.1 547 ---- 548 NULL 549 550 eval 551 NULL < 0.1 552 ---- 553 NULL 554 555 eval 556 NULL <= 0.1 557 ---- 558 NULL 559 560 eval 561 0.1::float = NULL 562 ---- 563 NULL 564 565 eval 566 0.1::float < NULL 567 ---- 568 NULL 569 570 eval 571 0.1::float <= NULL 572 ---- 573 NULL 574 575 eval 576 NULL = 0.1::float 577 ---- 578 NULL 579 580 eval 581 NULL < 0.1::float 582 ---- 583 NULL 584 585 eval 586 NULL <= 0.1::float 587 ---- 588 NULL 589 590 eval 591 true = NULL 592 ---- 593 NULL 594 595 eval 596 true < NULL 597 ---- 598 NULL 599 600 eval 601 true <= NULL 602 ---- 603 NULL 604 605 eval 606 NULL = true 607 ---- 608 NULL 609 610 eval 611 NULL < true 612 ---- 613 NULL 614 615 eval 616 NULL <= true 617 ---- 618 NULL 619 620 eval 621 'a' = NULL 622 ---- 623 NULL 624 625 eval 626 'a' < NULL 627 ---- 628 NULL 629 630 eval 631 'a' <= NULL 632 ---- 633 NULL 634 635 eval 636 NULL = 'a' 637 ---- 638 NULL 639 640 eval 641 NULL < 'a' 642 ---- 643 NULL 644 645 eval 646 NULL <= 'a' 647 ---- 648 NULL 649 650 eval 651 '2015-10-01'::date = NULL 652 ---- 653 NULL 654 655 eval 656 '2015-10-01'::date < NULL 657 ---- 658 NULL 659 660 eval 661 '2015-10-01'::date <= NULL 662 ---- 663 NULL 664 665 eval 666 NULL = '2015-10-01'::date 667 ---- 668 NULL 669 670 eval 671 NULL < '2015-10-01'::date 672 ---- 673 NULL 674 675 eval 676 NULL <= '2015-10-01'::date 677 ---- 678 NULL 679 680 eval 681 '12:00:00'::time = NULL 682 ---- 683 NULL 684 685 eval 686 '12:00:00'::time < NULL 687 ---- 688 NULL 689 690 eval 691 '12:00:00'::time <= NULL 692 ---- 693 NULL 694 695 eval 696 NULL = '12:00:00'::time 697 ---- 698 NULL 699 700 eval 701 NULL < '12:00:00'::time 702 ---- 703 NULL 704 705 eval 706 NULL <= '12:00:00'::time 707 ---- 708 NULL 709 710 eval 711 '12:00:00+01'::timetz = NULL 712 ---- 713 NULL 714 715 eval 716 '12:00:00+01'::timetz < NULL 717 ---- 718 NULL 719 720 eval 721 '12:00:00+01'::timetz <= NULL 722 ---- 723 NULL 724 725 eval 726 NULL = '12:00:00+01'::timetz 727 ---- 728 NULL 729 730 eval 731 NULL < '12:00:00+01'::timetz 732 ---- 733 NULL 734 735 eval 736 NULL <= '12:00:00+01'::timetz 737 ---- 738 NULL 739 740 eval 741 '2015-10-01'::timestamp = NULL 742 ---- 743 NULL 744 745 eval 746 '2015-10-01'::timestamp < NULL 747 ---- 748 NULL 749 750 eval 751 '2015-10-01'::timestamp <= NULL 752 ---- 753 NULL 754 755 eval 756 NULL = '2015-10-01'::timestamp 757 ---- 758 NULL 759 760 eval 761 NULL < '2015-10-01'::timestamp 762 ---- 763 NULL 764 765 eval 766 NULL <= '2015-10-01'::timestamp 767 ---- 768 NULL 769 770 eval 771 '2015-10-01'::timestamptz = NULL 772 ---- 773 NULL 774 775 eval 776 '2015-10-01'::timestamptz < NULL 777 ---- 778 NULL 779 780 eval 781 '2015-10-01'::timestamptz <= NULL 782 ---- 783 NULL 784 785 eval 786 NULL = '2015-10-01'::timestamptz 787 ---- 788 NULL 789 790 eval 791 NULL < '2015-10-01'::timestamptz 792 ---- 793 NULL 794 795 eval 796 NULL <= '2015-10-01'::timestamptz 797 ---- 798 NULL 799 800 eval 801 '1-2 10 2:30'::interval = NULL 802 ---- 803 NULL 804 805 eval 806 '1-2 10 2:30'::interval < NULL 807 ---- 808 NULL 809 810 eval 811 '1-2 10 2:30'::interval <= NULL 812 ---- 813 NULL 814 815 eval 816 NULL = '1-2 10 2:30'::interval 817 ---- 818 NULL 819 820 eval 821 NULL < '1-2 10 2:30'::interval 822 ---- 823 NULL 824 825 eval 826 NULL <= '1-2 10 2:30'::interval 827 ---- 828 NULL 829 830 eval 831 NULL = NULL 832 ---- 833 NULL 834 835 eval 836 NULL < NULL 837 ---- 838 NULL 839 840 eval 841 NULL <= NULL 842 ---- 843 NULL 844 845 eval 846 NULL < ARRAY[1] 847 ---- 848 NULL 849 850 eval 851 NULL <= ARRAY[1] 852 ---- 853 NULL 854 855 eval 856 ARRAY[1] < NULL 857 ---- 858 NULL 859 860 eval 861 ARRAY[1] <= NULL 862 ---- 863 NULL 864 865 eval 866 ARRAY[1] < ARRAY[2] 867 ---- 868 true 869 870 eval 871 ARRAY[2] < ARRAY[2, 3] 872 ---- 873 true 874 875 eval 876 ARRAY[2] <= ARRAY[2] 877 ---- 878 true 879 880 eval 881 ARRAY[]:::INT[] < ARRAY[1] 882 ---- 883 true 884 885 eval 886 ARRAY[1, 2, 3] < ARRAY[1, 2] 887 ---- 888 false 889 890 eval 891 ARRAY[1, 2, 3] < ARRAY[1, 1] 892 ---- 893 false 894 895 eval 896 ARRAY[2, 2, 2, 4] < ARRAY[2, 2, 2, 5] 897 ---- 898 true 899 900 eval 901 ARRAY[1, 2, 3] = ARRAY[1, 2, 3] 902 ---- 903 true 904 905 eval 906 ARRAY[NULL]:::INT[] <= ARRAY[NULL]:::INT[] 907 ---- 908 true 909 910 eval 911 ARRAY[NULL, 1] >= ARRAY[NULL, 1] 912 ---- 913 true 914 915 eval 916 ARRAY[NULL, 1, NULL] > ARRAY[NULL, 2, NULL] 917 ---- 918 false 919 920 # This differs from postgres -- crdb nulls come first. 921 eval 922 ARRAY[NULL, NULL]:::INT[] < ARRAY[NULL, 1] 923 ---- 924 true