Understanding Type Affinity in SQLite

SQLite is a lightweight, self-contained database engine renowned for its simplicity and flexibility. One of its unique features is the way it handles data types through type affinity, which determines how SQLite associates values with storage classes.

Unlike many database systems that enforce strict type constraints, SQLite’s type affinity system is more flexible, accommodating a broader range of data.

Read more

An Overview of ARG_MIN() in DuckDB

In DuckDB, arg_min() is an aggregate function that finds the row with the minimum value in one column and returns the corresponding value from another column at that row. Rows where either of the first two expressions is NULL are ignored.

In this article we explore DuckDB’s arg_min() function with some simple examples.

Read more

How CONCAT_WS() Works in DuckDB

In DuckDB, the CONCAT_WS() function provides an efficient way to join strings with a specified separator. CONCAT_WS() stands for “concatenate with separator”, and many RDBMSs have such a function.

CONCAT_WS() is particularly useful when you need to combine multiple fields or values with a consistent delimiter.

Let’s explore its features and practical applications.

Read more

An Overview of the CONCAT() Function in DuckDB

String concatenation is a common operation in database queries, and many database management systems (DBMSs) provide at least one or two ways to concatenate strings. DuckDB is no exception.

One option for concatenating strings in DuckDB is with the CONCAT() function. This function provides a robust and NULL-safe way to combine strings.

Unlike the concatenation operator (||), CONCAT() handles NULL values gracefully and provides a cleaner syntax for combining multiple strings.

In this article, we’ll explore everything from basic usage to advanced techniques and best practices.

Read more

Understanding SQLite’s CAST() Expression

SQLite is a widely-used lightweight database engine that powers many mobile, embedded, and desktop applications. One of its key features is its dynamic type system, which allows flexibility in handling data. While this is advantageous in many scenarios, there are cases where developers need precise control over how data is treated or converted between types. This is where SQLite’s CAST() expression comes in.

Read more

What ?TABLE? Means When using .help mode in DuckDB

If you’ve ever run .help mode in the DuckDB command line interface (CLI), you may have noticed that it returns information about the .mode command, including its syntax.

You might’ve noticed that there’s a ?TABLE? part in the syntax. What’s this about? Maybe you’ve tried it out and found that it didn’t appear to do anything?

In this article, I’ll explain what the ?TABLE? part is for, and I’ll run an example to demonstrate.

Read more