How to Allow Duplicate Fields when using HRANDFIELD in Redis

By default, Redis’s HRANDFIELD command returns distinct fields. In other words, it won’t return the same field multiple times – each field that’s returned by the command will only be returned once.

However, we can override this behaviour by using an negative count value for the count argument.

When we pass a negative count argument, the HRANDFIELD command allows non-distinct fields to be returned.

Continue reading

How to Reset a Sequence in SQL Server

In SQL Server, we can use sequences to generate sequence numbers that increment by a specified amount. This means that any new number generated by the sequence will be the next sequential increment as specified in the sequence’s definition.

Normally, this is exactly what we want. We want each number to adhere to the increment that we specified when defining the sequence.

But what if we want to reset the sequence, so that the numbering starts all over again? In other words, we want to restart the sequence from the beginning. Or what if we want to reset the sequence so that it increments in a different range?

Fortunately, we can reset a sequence with the ALTER SEQUENCE statement.

Continue reading

PostgreSQL DATE_BIN() Function Explained

In PostgreSQL, the DATE_BIN() function enables us to “bin” a timestamp into a given interval aligned with a specific origin. In other words, we can use this function to map (or force) a timestamp to the nearest specified interval.

This can be handy when we want to truncate a timestamp to a given interval, for example a 10 minute interval. We can specify the interval (e.g. 10 minutes, 15 minutes, 30 minutes, etc), and we can specify the starting point for the interval. Therefore, we can have the interval starting at any odd time we want (it doesn’t need to start on the hour or anything like that).

Continue reading