MariaDB LENGTH() vs LENGTHB(): What’s the Difference?

Ever since version 10.3.1, MariaDB has included both a LENGTH() function and a LENGTHB() function.

That second one has a B at the end of the name. So it’s kind of like Length A and Length B, except that Length A doesn’t have the A.

Confused?

I was, when I first encountered LENGTHB(). I already knew about LENGTH(), so why the need for a “B” version?

Let’s find out.

Read more

SOUNDEX() Function in Oracle

In Oracle, the SOUNDEX() function returns a character string containing the phonetic representation of its argument. This is known as the Soundex string.

Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. If two words sound the same, they should have the same Soundex string. If two words sound similar, but not exactly the same, their Soundex string might look similar but not exactly the same.

The function accepts one argument: the string for which to return the Soundex string from.

Read more

SUBSTR() Function in Oracle

In Oracle, the SUBSTR() function returns a substring from a given string.

SUBSTR() requires at least two arguments; the string, and the position for which to extract the substring from. It also accepts an optional third argument that allows you to specify how long the substring should be.

SUBSTR() can also be thought of as a group of functions. There are five separate functions; SUBSTR(), SUBSTRB(), SUBSTRC(), SUBSTR2(), and SUBSTR4(). Each function calculates the length in a different way.

Read more

Remove Duplicates when using $unionWith in MongoDB

In MongoDB, the $unionWith aggregation pipeline stage performs a union of two collections, and it includes duplicates.

This behaves in a similar way to SQL’s UNION ALL, which also includes duplicates. By contrast, using just UNION (i.e. without the ALL)in SQL removes duplicates.

In MongoDB, we don’t have the option of specifying $unionWith ALL or similar, so we need to reduce duplicates in another way.

In MongoDB, we can remove duplicates by using the $group stage.

Read more

WIDTH_BUCKET() Function in Oracle

In Oracle, the WIDTH_BUCKET() function allows you to construct equiwidth histograms, in which the histogram range is divided into intervals that have identical size.

For a given expression, WIDTH_BUCKET() returns the bucket number into which the value of this expression would fall after being evaluated.

Read more