github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/sem/tree/testdata/eval/interval (about) 1 # Need two interval ops to verify the return type matches the return struct type. 2 # The optimizer tries to no-op this if both are 0s, and will return the wrong 3 # timezone. This is okay in "eval", as long as it shows correctly in pgwire. 4 eval 5 '2010-09-28 12:00:00.1-04:00'::timestamptz - '1s'::interval - '0s'::interval 6 ---- 7 '2010-09-28 15:59:59.1+00:00' 8 9 eval 10 '12h2m1s23ms'::interval + '1h'::interval 11 ---- 12 '13:02:01.023' 13 14 eval 15 '12 hours 2 minutes 1 second'::interval + '1h'::interval 16 ---- 17 '13:02:01' 18 19 eval 20 'PT12H2M1S'::interval + '1h'::interval 21 ---- 22 '13:02:01' 23 24 eval 25 '12:02:01'::interval + '1h'::interval 26 ---- 27 '13:02:01' 28 29 eval 30 '12h2m1s23ms'::interval - '1h'::interval 31 ---- 32 '11:02:01.023' 33 34 eval 35 '12 hours 2 minutes 1 second'::interval - '1h'::interval 36 ---- 37 '11:02:01' 38 39 eval 40 'PT12H2M1S'::interval - '1h'::interval 41 ---- 42 '11:02:01' 43 44 eval 45 '1h'::interval - '12h2m1s23ms'::interval 46 ---- 47 '-11:02:01.023' 48 49 eval 50 'PT1H'::interval - '12h2m1s23ms'::interval 51 ---- 52 '-11:02:01.023' 53 54 eval 55 '1 hour'::interval - '12h2m1s23ms'::interval 56 ---- 57 '-11:02:01.023' 58 59 eval 60 3 * '1h2m'::interval * 3 61 ---- 62 '09:18:00' 63 64 eval 65 3 * '1 hour 2 minutes'::interval * 3 66 ---- 67 '09:18:00' 68 69 eval 70 3 * 'PT1H2M'::interval * 3 71 ---- 72 '09:18:00' 73 74 eval 75 '3h'::interval / 2 76 ---- 77 '01:30:00' 78 79 eval 80 'PT3H'::interval / 2 81 ---- 82 '01:30:00' 83 84 eval 85 '3:00'::interval / 2 86 ---- 87 '01:30:00' 88 89 eval 90 '3 hours'::interval / 2 91 ---- 92 '01:30:00' 93 94 eval 95 '3 hours'::interval * 2.5 96 ---- 97 '07:30:00' 98 99 eval 100 '3 hours'::interval / 2.5 101 ---- 102 '01:12:00' 103 104 eval 105 '1h2m'::interval * 4.5 106 ---- 107 '04:39:00' 108 109 eval 110 4.5 * '1h2m'::interval 111 ---- 112 '04:39:00' 113 114 eval 115 5.0 * '1h2m'::interval 116 ---- 117 '05:10:00' 118 119 eval 120 '1h2m'::interval * 5.0 121 ---- 122 '05:10:00' 123 124 eval 125 '1h2m'::interval * 0.0 126 ---- 127 '00:00:00' 128 129 eval 130 00.0 * '1h2m'::interval 131 ---- 132 '00:00:00' 133 134 eval 135 '.1s'::interval 136 ---- 137 '00:00:00.1' 138 139 eval 140 '.1ms'::interval 141 ---- 142 '00:00:00.0001'