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'