|
87 | 87 | <argument type='date' />
|
88 | 88 | <argument type='datetime' />
|
89 | 89 | </function>
|
| 90 | + <function group='operator' name='==' return-type='bool'> |
| 91 | + <formula>(%1 = %2)</formula> |
| 92 | + <argument type='date' /> |
| 93 | + <argument type='date' /> |
| 94 | + </function> |
90 | 95 | <function group='operator' name='!=' return-type='bool'>
|
91 | 96 | <formula>(%1 AND NOT %2 OR NOT %1 AND %2)</formula>
|
92 | 97 | <argument type='bool' />
|
|
127 | 132 | <argument type='datetime' />
|
128 | 133 | <argument type='date' />
|
129 | 134 | </function>
|
| 135 | + <function group='operator' name='!=' return-type='bool'> |
| 136 | + <formula>(%1 <> %2)</formula> |
| 137 | + <argument type='date' /> |
| 138 | + <argument type='date' /> |
| 139 | + </function> |
130 | 140 | <function group='operator' name='>' return-type='bool'>
|
131 | 141 | <formula>(%1 > CAST(DATE_FORMAT(%2, '%Y-%m-%d 00:00:00') AS TIMESTAMP))</formula>
|
132 | 142 | <argument type='datetime' />
|
|
137 | 147 | <argument type='date' />
|
138 | 148 | <argument type='datetime' />
|
139 | 149 | </function>
|
| 150 | + <function group='operator' name='>' return-type='bool'> |
| 151 | + <formula>(%1 > %2)</formula> |
| 152 | + <argument type='date' /> |
| 153 | + <argument type='date' /> |
| 154 | + </function> |
140 | 155 | <function group='operator' name='>=' return-type='bool'>
|
141 | 156 | <formula>(%1 >= CAST(DATE_FORMAT(%2, '%Y-%m-%d 00:00:00') AS TIMESTAMP))</formula>
|
142 | 157 | <argument type='datetime' />
|
|
147 | 162 | <argument type='date' />
|
148 | 163 | <argument type='datetime' />
|
149 | 164 | </function>
|
| 165 | + <function group='operator' name='>=' return-type='bool'> |
| 166 | + <formula>(%1 >= %2)</formula> |
| 167 | + <argument type='date' /> |
| 168 | + <argument type='date' /> |
| 169 | + </function> |
150 | 170 | <function group='operator' name='<' return-type='bool'>
|
151 | 171 | <formula>(%1 < CAST(DATE_FORMAT(%2, '%Y-%m-%d 00:00:00') AS TIMESTAMP))</formula>
|
152 | 172 | <argument type='datetime' />
|
|
157 | 177 | <argument type='date' />
|
158 | 178 | <argument type='datetime' />
|
159 | 179 | </function>
|
| 180 | + <function group='operator' name='<' return-type='bool'> |
| 181 | + <formula>(%1 < %2)</formula> |
| 182 | + <argument type='date' /> |
| 183 | + <argument type='date' /> |
| 184 | + </function> |
160 | 185 | <function group='operator' name='<=' return-type='bool'>
|
161 | 186 | <formula>(%1 <= CAST(DATE_FORMAT(%2, '%Y-%m-%d 00:00:00') AS TIMESTAMP))</formula>
|
162 | 187 | <argument type='datetime' />
|
|
167 | 192 | <argument type='date' />
|
168 | 193 | <argument type='datetime' />
|
169 | 194 | </function>
|
| 195 | + <function group='operator' name='<=' return-type='bool'> |
| 196 | + <formula>(%1 <= %2)</formula> |
| 197 | + <argument type='date' /> |
| 198 | + <argument type='date' /> |
| 199 | + </function> |
170 | 200 | <function group='operator' name='+' return-type='datetime'>
|
171 | 201 | <!-- 86400 as it represents seconds in a day -->
|
172 | 202 | <formula>DATE_ADD(%1, INTERVAL CAST((86400 * %2) AS INT) SECOND)</formula>
|
173 | 203 | <argument type='datetime' />
|
174 | 204 | <argument type='real' />
|
175 | 205 | </function>
|
| 206 | + <function group='operator' name='+' return-type='datetime'> |
| 207 | + <formula>DATE_ADD(%1, INTERVAL %2 DAY)</formula> |
| 208 | + <argument type='date' /> |
| 209 | + <argument type='int' /> |
| 210 | + </function> |
| 211 | + <function group='operator' name='+' return-type='datetime'> |
| 212 | + <!-- 86400 as it represents seconds in a day --> |
| 213 | + <formula>DATE_ADD(%1, INTERVAL CAST((86400 * %2) AS INT) SECOND)</formula> |
| 214 | + <argument type='date' /> |
| 215 | + <argument type='real' /> |
| 216 | + </function> |
176 | 217 | <function group='operator' name='-' return-type='int'>
|
177 | 218 | <formula>(%1 * -1)</formula>
|
178 | 219 | <argument type='int' />
|
|
189 | 230 | </function>
|
190 | 231 | <function group='operator' name='-' return-type='real'>
|
191 | 232 | <!-- 86400 as it represents seconds in a day -->
|
192 |
| - <formula>((TO_DAYS(%1) - TO_DAYS(CAST(DATE_FORMAT(%2, '%Y-%m-%d 00:00:00') AS TIMESTAMP))) + ((TIME_TO_SEC(%1) - TIME_TO_SEC(CAST(DATE_FORMAT(%2, '%Y-%m-%d 00:00:00') AS TIMESTAMP))) / 86400.0))</formula> |
| 233 | + <formula>(unix_timestamp(%1) - unix_timestamp(%2)) / 86400</formula> |
193 | 234 | <argument type='datetime' />
|
194 | 235 | <argument type='date' />
|
195 | 236 | </function>
|
196 | 237 | <function group='operator' name='-' return-type='real'>
|
197 | 238 | <!-- 86400 as it represents seconds in a day -->
|
198 |
| - <formula>((TO_DAYS(CAST(DATE_FORMAT(%1, '%Y-%m-%d 00:00:00') AS TIMESTAMP))) - TO_DAYS(%1) + ((TIME_TO_SEC(CAST(DATE_FORMAT(%1, '%Y-%m-%d 00:00:00') AS TIMESTAMP)) - TIME_TO_SEC(%2)) / 86400.0))</formula> |
| 239 | + <formula>(unix_timestamp(%1) - unix_timestamp(%2)) / 86400</formula> |
199 | 240 | <argument type='date' />
|
200 | 241 | <argument type='datetime' />
|
201 | 242 | </function>
|
|
205 | 246 | <argument type='datetime' />
|
206 | 247 | <argument type='real' />
|
207 | 248 | </function>
|
| 249 | + <function group='operator' name='-' return-type='datetime'> |
| 250 | + <formula>DATE_SUB(%1, INTERVAL %2 DAY)</formula> |
| 251 | + <argument type='date' /> |
| 252 | + <argument type='int' /> |
| 253 | + </function> |
| 254 | + <function group='operator' name='-' return-type='datetime'> |
| 255 | + <!-- 86400 as it represents seconds in a day --> |
| 256 | + <formula>DATE_SUB(%1, INTERVAL CAST((86400 * %2) AS INT) SECOND)</formula> |
| 257 | + <argument type='date' /> |
| 258 | + <argument type='real' /> |
| 259 | + </function> |
| 260 | + <function group='operator' name='-' return-type='real'> |
| 261 | + <formula>TO_DAYS(%1) - TO_DAYS(%2)</formula> |
| 262 | + <argument type='date' /> |
| 263 | + <argument type='date' /> |
| 264 | + </function> |
208 | 265 | <function group='operator' name='/' return-type='real'>
|
209 | 266 | <formula>CAST(%1 AS DOUBLE) / %2</formula>
|
210 | 267 | <argument type='int' />
|
|
262 | 319 | <argument type='datetime' />
|
263 | 320 | <argument type='datetime' />
|
264 | 321 | </function>
|
| 322 | + <function group='numeric' name='MAX' return-type='date'> |
| 323 | + <formula>CASE WHEN ISNULL(%1) THEN NULL |
| 324 | + WHEN ISNULL(%2) THEN NULL |
| 325 | + WHEN %1 > %2 THEN %1 |
| 326 | + ELSE %2 END</formula> |
| 327 | + <argument type='date' /> |
| 328 | + <argument type='date' /> |
| 329 | + </function> |
265 | 330 | <function group='numeric' name='MAX' return-type='str'>
|
266 | 331 | <formula>CASE WHEN ISNULL(%1) THEN NULL
|
267 | 332 | WHEN ISNULL(%2) THEN NULL
|
|
294 | 359 | <argument type='datetime' />
|
295 | 360 | <argument type='datetime' />
|
296 | 361 | </function>
|
| 362 | + <function group='numeric' name='MIN' return-type='date'> |
| 363 | + <formula>CASE WHEN ISNULL(%1) THEN NULL |
| 364 | + WHEN ISNULL(%2) THEN NULL |
| 365 | + WHEN %1 < %2 THEN %1 |
| 366 | + ELSE %2 END</formula> |
| 367 | + <argument type='date' /> |
| 368 | + <argument type='date' /> |
| 369 | + </function> |
297 | 370 | <function group='numeric' name='MIN' return-type='str'>
|
298 | 371 | <formula>CASE WHEN ISNULL(%1) THEN NULL
|
299 | 372 | WHEN ISNULL(%2) THEN NULL
|
|
0 commit comments