Format sysjobhistory datetime & duration Columns in SQL Server

If you’ve ever queried the sysjobhistory table in the msdb database, you’ll probably know that the datetime and duration columns are stored as integers.

In particular, when you query this table, the run_date, run_time, and duration columns are returned as integers, which can make it difficult to read.

Below is a query you can use to return this data in an easier to read format.

Read more

8 Ways to Get the Day from a Date in MongoDB

When extracting the day from a date, the exact option we use will depend on how we want the day to be represented.

For example, do we want the day of the week, the day of the month, or the day of the year? Or perhaps we want it in ISO 8601 format? The return value will usually be different depending on which one we choose.

This article explores those options, and therefore presents 8 ways to return the day portion from a date in MongoDB.

Read more

5 Ways to Get the Month from a Date in MongoDB

MongoDB provides a number of aggregation pipeline operators for working with dates, including operators that extract certain parts of dates, such as the year, month, day, etc.

There are also a couple of MongoDB methods that enable you to iterate through a cursor, and apply a JavaScript function. You can therefore use JavaScript to extract date values and date parts, etc from a field as required.

This article presents 5 ways to return the month portion from a date in MongoDB.

Read more

6 Ways to Get the Year from a Date in MongoDB

MongoDB provides quite a few aggregation pipeline operators for working with dates. This includes operators that extract certain parts of dates, such as the year, month, day, etc.

There are also a couple of MongoDB methods that enable you to iterate through a cursor, and apply a JavaScript function. This therefore allows you to use JavaScript to extract date values and date parts, etc from a field.

This article presents 6 ways to return the year portion from a date in MongoDB.

Read more

Rename a Field in the Query Results in MongoDB

Sometimes when you query a collection in MongoDB, you might not be happy with the field names. By default, the field names are simply a reflection of the field names in the actual documents.

Perhaps the field names are inconsistent, or there’s a typo. Whatever the reason, you can use the $project aggregation pipeline stage to rename a field in your query results.

In some ways, this is comparable to using an alias in SQL, as it doesn’t rename the underlying fields, it simply renames them in the query results.

Read more

How to Return Just the Value in MongoDB

When you use methods such as find() or findOne() in MongoDB, by default you get the whole document returned. And if you use projections, you can return specific key/value pairs.

But what if you only want the value?

You can extract the value of a field by appending that field’s name to your query when using findOne().

Read more

How to Fix “The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION” in SQL Server

If you’re receiving error Msg 3902, Level 16, which reads “The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION”, it’s probably because you’ve got a stray COMMIT statement.

You could be getting this due to implementing error handling, and forgetting that you’ve already committed or rolled back the transaction elsewhere in your code.

Read more

Create a Multikey Index in MongoDB

In MongoDB, when you create an index on a field that holds an array, it’s automatically created as a multikey index.

Multikey indexes support efficient queries against array fields.

Multikey indexes can be created for arrays that hold scalar data (e.g. strings, numbers, etc) and nested documents.

Read more