MCPcopy Create free account
hub / github.com/apache/datafusion / test_date_trunc

Function test_date_trunc

datafusion/sql/src/unparser/expr.rs:3340–3421  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3338
3339 #[test]
3340 fn test_date_trunc() -> Result<()> {
3341 let default_dialect: Arc<dyn Dialect> = Arc::new(DefaultDialect {});
3342 let sqlite_dialect: Arc<dyn Dialect> = Arc::new(SqliteDialect {});
3343
3344 for (dialect, precision, expected) in [
3345 (
3346 Arc::clone(&default_dialect),
3347 "YEAR",
3348 "date_trunc('YEAR', date_col)",
3349 ),
3350 (
3351 Arc::clone(&sqlite_dialect),
3352 "YEAR",
3353 "strftime('%Y', `date_col`)",
3354 ),
3355 (
3356 Arc::clone(&default_dialect),
3357 "MONTH",
3358 "date_trunc('MONTH', date_col)",
3359 ),
3360 (
3361 Arc::clone(&sqlite_dialect),
3362 "MONTH",
3363 "strftime('%Y-%m', `date_col`)",
3364 ),
3365 (
3366 Arc::clone(&default_dialect),
3367 "DAY",
3368 "date_trunc('DAY', date_col)",
3369 ),
3370 (
3371 Arc::clone(&sqlite_dialect),
3372 "DAY",
3373 "strftime('%Y-%m-%d', `date_col`)",
3374 ),
3375 (
3376 Arc::clone(&default_dialect),
3377 "HOUR",
3378 "date_trunc('HOUR', date_col)",
3379 ),
3380 (
3381 Arc::clone(&sqlite_dialect),
3382 "HOUR",
3383 "strftime('%Y-%m-%d %H', `date_col`)",
3384 ),
3385 (
3386 Arc::clone(&default_dialect),
3387 "MINUTE",
3388 "date_trunc('MINUTE', date_col)",
3389 ),
3390 (
3391 Arc::clone(&sqlite_dialect),
3392 "MINUTE",
3393 "strftime('%Y-%m-%d %H:%M', `date_col`)",
3394 ),
3395 (default_dialect, "SECOND", "date_trunc('SECOND', date_col)"),
3396 (
3397 sqlite_dialect,

Callers

nothing calls this directly

Calls 5

newFunction · 0.85
ScalarFunctionClass · 0.85
expr_to_sqlMethod · 0.80
as_refMethod · 0.45
to_stringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…