{"id":60,"date":"2018-05-01T18:00:50","date_gmt":"2018-05-01T18:00:50","guid":{"rendered":"https:\/\/datablog.roman-halliday.com\/?p=60"},"modified":"2018-06-03T20:19:03","modified_gmt":"2018-06-03T20:19:03","slug":"dates-in-sql-server-managing-manipulating-dates","status":"publish","type":"post","link":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/","title":{"rendered":"Dates In SQL Server: Managing &#038; Manipulating Dates"},"content":{"rendered":"<p>Working with dates correctly gives us a lot of power. Dates are a surprisingly complex part of databases, especially if we take into consideration the general complexities in calendars.<\/p>\n<p>SQL Server has a lot of subtleties, and some formatting nuances which can be difficult to remember.\u00a0This is the first in a short series of articles I&#8217;ll put together about working with dates in SQL Server. I&#8217;ll start by covering some fundamentals, and provide a few common examples for working with dates.<\/p>\n<h1>Date data types<\/h1>\n<p>It&#8217;s worth being familiar with the <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/data-types\/data-types-transact-sql?view=sql-server-2017\">SQL Server data types<\/a> for date &amp; time. As we are looking at storing dates, I&#8217;ll focus on:<\/p>\n<ul>\n<li><code>DATETIME2<\/code><\/li>\n<li><code>SMALLDATETIME<\/code><\/li>\n<li><code>DATE<\/code><\/li>\n<\/ul>\n<p><code>DATE<\/code> is more recent, it was new in 2014 (it&#8217;s not the best known addition). If you are working with whole days, <code>DATE<\/code> is the best option. It&#8217;s also what I&#8217;m going to focus on for my date\/calendar articles.<\/p>\n<p>If you need to include time (so not just the whole day) then use <code>DATETIME2<\/code> or <code>SMALLDATETIME<\/code> (unless you need the backwards compatibility of <code>DATETIME<\/code>). I&#8217;m going to come back to these two in another post, SMALLDATETIME does rounding differently to DATETIME2 which can have unexpected results.<\/p>\n<h1>Formatting dates<\/h1>\n<p>A golden rule is to let a client application handle the presentation of the data. Data should be handed to the client with the required attributes and presentation handled there. Having said that, many of us run simple reports\/data checking steps from within SSMS.<\/p>\n<p>There are two ways of applying a little formatting of dates in SQL Server:<\/p>\n<ol>\n<li>Converting to VARCHR and applying a format mask.<\/li>\n<li>Using the FORMAT command.<\/li>\n<\/ol>\n<h2>Formatting using CONVERT, DateName &amp; DatePart<\/h2>\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/functions\/cast-and-convert-transact-sql?view=sql-server-2017\">CONVERT<\/a> has been around for a lot longer and is best for backwards compatibility (if you need to support before 2008, then CAST will have to do). The basic idea is that the data is converted into a different data type (in our case a VARCHAR) with a formatting mask applied.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\">SELECT CONVERT(VARCHAR(&lt;LENGTH&gt;), GetDate(), &lt;STYLE&gt;)\r\n   ...\r\n;<\/pre>\n<p>In the above the <code>&lt;LENGHT&gt;<\/code> can be used to trim the output, a length of 10 can give <code>yyyy-mm-dd<\/code> where as 19 will provide\u00a0<code>yyyy-mm-dd hh:mi:ss<\/code>. The &lt;STYLE&gt; picks the format for the date.\u00a0The style numbers can be hard to remember (unlike using a format string). They also provide a finite number of outputs before people start using string replacement commands. The most important\/common numbers to know are:<\/p>\n<ul>\n<li>120:\u00a0ODBC canonical<\/li>\n<li>110: USA<\/li>\n<li>103: British<\/li>\n<\/ul>\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/functions\/datename-transact-sql?view=sql-server-2017\">DateName<\/a> allows us to get human readable attributes from the date, like the name of the day of week. This can be very useful for some tasks (if we want to track\/show activity which only happens on weekdays for example).<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\">SELECT DateName(dw, GetDate()) AS TheDate_day_name,\r\n;<\/pre>\n<p>The other way to get date information out is to use <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/functions\/datepart-transact-sql?view=sql-server-2017\">DatePart<\/a>.\u00a0This is useful if you want to get a format not supported by the style list. Or as a means to roll up\/group dates by month\/week.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\">SELECT DatePart(MONTH, GetDate())\r\n   ...\r\n;<\/pre>\n<h3>Examples<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\">SELECT GetDate(),\r\n       DateName(dw, GetDate())             AS TheDate_day_name,\r\n       CONVERT(VARCHAR, GetDate(), 103)    AS TheDate_UK_date,\r\n       CONVERT(VARCHAR(10),GetDate(), 120) AS TheDate_ISO_date,\r\n       DateName(m, GetDate())              AS TheDate_month_name,\r\n       DatePart(m, GetDate())              AS TheDate_month_value,\r\n       DatePart(wk, GetDate())             AS TheDate_week_of_year\r\n;<\/pre>\n<p>&nbsp;<\/p>\n<p>See samples of all the above used in this <a href=\"http:\/\/sqlfiddle.com\/#!18\/cef2e\/1\">SQL Fiddle<\/a>.<\/p>\n<h2>Formatting using FORMAT<\/h2>\n<p>The <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/functions\/format-transact-sql?view=sql-server-2017\">FORMAT<\/a> command came out in 2012, and allows for some handy shortcuts in presenting numbers and dates. It has a number of default natural geographic outputs as well as the opportunity to create any custom formatting required.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\">SELECT GetDate(),\r\n       FORMAT(GetDate(), 'd', 'en-gb') AS [TheDate_UK_numeric],\r\n       FORMAT(GetDate(), 'D', 'en-gb') AS [TheDate_UK_alphanumeric],\r\n       FORMAT(GetDate(), 'd', 'en-us') AS [TheDate_US_numeric],\r\n       FORMAT(GetDate(), 'D', 'en-us') AS [TheDate_US_alphanumeric],\r\n       FORMAT(GetDate(), 'dd - yy_ MMM', 'en-gb')\r\n                                     AS [TheDate_Custom_Format]\r\n;<\/pre>\n<p>For a working example, see this <a href=\"http:\/\/sqlfiddle.com\/#!18\/cef2e\/5\">SQL Fiddle<\/a>.<\/p>\n<p>More advanced date formats can be applied using the information for:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/standard\/base-types\/standard-date-and-time-format-strings\">dot net standard date and time formats<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/standard\/base-types\/custom-date-and-time-format-strings\">dot net custom date and time format strings<\/a><\/li>\n<\/ul>\n<p>As I build out this collection of articles on dates, I realise that I know a lot more about dates in SQL Server than I realised there was to know, and there is more to them than I know. I was going to put more in this post, but it&#8217;s longer than I thought it would be already.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Working with dates correctly gives us a lot of power. Dates are a surprisingly complex part of databases, especially if we take into consideration the general complexities in calendars. SQL Server has a lot of subtleties, and some formatting nuances which can be difficult to remember.\u00a0This is the first in a short series of articles&hellip;<\/p>\n<p class=\"read-more\"><a class=\"readmore-btn\" href=\"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/\">Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4],"tags":[12],"class_list":["post-60","post","type-post","status-publish","format-standard","hentry","category-databases","category-sql-server","tag-date"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dates In SQL Server: Managing &amp; Manipulating Dates - Rows Across The Lake<\/title>\n<meta name=\"description\" content=\"Working with dates correctly gives us a lot of power, but SQL Server has a lot of substitutes and some formatting which is difficult to remember.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dates In SQL Server: Managing &amp; Manipulating Dates - Rows Across The Lake\" \/>\n<meta property=\"og:description\" content=\"Working with dates correctly gives us a lot of power, but SQL Server has a lot of substitutes and some formatting which is difficult to remember.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/\" \/>\n<meta property=\"og:site_name\" content=\"Rows Across The Lake\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-01T18:00:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-06-03T20:19:03+00:00\" \/>\n<meta name=\"author\" content=\"david\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@d_roman_h\" \/>\n<meta name=\"twitter:site\" content=\"@d_roman_h\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"david\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/index.php\\\/2018\\\/05\\\/01\\\/dates-in-sql-server-managing-manipulating-dates\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/index.php\\\/2018\\\/05\\\/01\\\/dates-in-sql-server-managing-manipulating-dates\\\/\"},\"author\":{\"name\":\"david\",\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/#\\\/schema\\\/person\\\/575f96d2590c3085923ff9e1b565748b\"},\"headline\":\"Dates In SQL Server: Managing &#038; Manipulating Dates\",\"datePublished\":\"2018-05-01T18:00:50+00:00\",\"dateModified\":\"2018-06-03T20:19:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/index.php\\\/2018\\\/05\\\/01\\\/dates-in-sql-server-managing-manipulating-dates\\\/\"},\"wordCount\":631,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/#\\\/schema\\\/person\\\/575f96d2590c3085923ff9e1b565748b\"},\"keywords\":[\"date\"],\"articleSection\":[\"Databases\",\"SQL Server\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/datablog.roman-halliday.com\\\/index.php\\\/2018\\\/05\\\/01\\\/dates-in-sql-server-managing-manipulating-dates\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/index.php\\\/2018\\\/05\\\/01\\\/dates-in-sql-server-managing-manipulating-dates\\\/\",\"url\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/index.php\\\/2018\\\/05\\\/01\\\/dates-in-sql-server-managing-manipulating-dates\\\/\",\"name\":\"Dates In SQL Server: Managing & Manipulating Dates - Rows Across The Lake\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/#website\"},\"datePublished\":\"2018-05-01T18:00:50+00:00\",\"dateModified\":\"2018-06-03T20:19:03+00:00\",\"description\":\"Working with dates correctly gives us a lot of power, but SQL Server has a lot of substitutes and some formatting which is difficult to remember.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/index.php\\\/2018\\\/05\\\/01\\\/dates-in-sql-server-managing-manipulating-dates\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/datablog.roman-halliday.com\\\/index.php\\\/2018\\\/05\\\/01\\\/dates-in-sql-server-managing-manipulating-dates\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/index.php\\\/2018\\\/05\\\/01\\\/dates-in-sql-server-managing-manipulating-dates\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dates In SQL Server: Managing &#038; Manipulating Dates\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/#website\",\"url\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/\",\"name\":\"Rows Across The Lake\",\"description\":\"Data &amp; Databases\",\"publisher\":{\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/#\\\/schema\\\/person\\\/575f96d2590c3085923ff9e1b565748b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/datablog.roman-halliday.com\\\/#\\\/schema\\\/person\\\/575f96d2590c3085923ff9e1b565748b\",\"name\":\"david\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/acddbc676a1d5c73795edcf0627ee39e5aa947da9033b58373e03d93122cb3b7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/acddbc676a1d5c73795edcf0627ee39e5aa947da9033b58373e03d93122cb3b7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/acddbc676a1d5c73795edcf0627ee39e5aa947da9033b58373e03d93122cb3b7?s=96&d=mm&r=g\",\"caption\":\"david\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/acddbc676a1d5c73795edcf0627ee39e5aa947da9033b58373e03d93122cb3b7?s=96&d=mm&r=g\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dates In SQL Server: Managing & Manipulating Dates - Rows Across The Lake","description":"Working with dates correctly gives us a lot of power, but SQL Server has a lot of substitutes and some formatting which is difficult to remember.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/","og_locale":"en_GB","og_type":"article","og_title":"Dates In SQL Server: Managing & Manipulating Dates - Rows Across The Lake","og_description":"Working with dates correctly gives us a lot of power, but SQL Server has a lot of substitutes and some formatting which is difficult to remember.","og_url":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/","og_site_name":"Rows Across The Lake","article_published_time":"2018-05-01T18:00:50+00:00","article_modified_time":"2018-06-03T20:19:03+00:00","author":"david","twitter_card":"summary_large_image","twitter_creator":"@d_roman_h","twitter_site":"@d_roman_h","twitter_misc":{"Written by":"david","Estimated reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/#article","isPartOf":{"@id":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/"},"author":{"name":"david","@id":"https:\/\/datablog.roman-halliday.com\/#\/schema\/person\/575f96d2590c3085923ff9e1b565748b"},"headline":"Dates In SQL Server: Managing &#038; Manipulating Dates","datePublished":"2018-05-01T18:00:50+00:00","dateModified":"2018-06-03T20:19:03+00:00","mainEntityOfPage":{"@id":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/"},"wordCount":631,"commentCount":3,"publisher":{"@id":"https:\/\/datablog.roman-halliday.com\/#\/schema\/person\/575f96d2590c3085923ff9e1b565748b"},"keywords":["date"],"articleSection":["Databases","SQL Server"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/","url":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/","name":"Dates In SQL Server: Managing & Manipulating Dates - Rows Across The Lake","isPartOf":{"@id":"https:\/\/datablog.roman-halliday.com\/#website"},"datePublished":"2018-05-01T18:00:50+00:00","dateModified":"2018-06-03T20:19:03+00:00","description":"Working with dates correctly gives us a lot of power, but SQL Server has a lot of substitutes and some formatting which is difficult to remember.","breadcrumb":{"@id":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/datablog.roman-halliday.com\/index.php\/2018\/05\/01\/dates-in-sql-server-managing-manipulating-dates\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/datablog.roman-halliday.com\/"},{"@type":"ListItem","position":2,"name":"Dates In SQL Server: Managing &#038; Manipulating Dates"}]},{"@type":"WebSite","@id":"https:\/\/datablog.roman-halliday.com\/#website","url":"https:\/\/datablog.roman-halliday.com\/","name":"Rows Across The Lake","description":"Data &amp; Databases","publisher":{"@id":"https:\/\/datablog.roman-halliday.com\/#\/schema\/person\/575f96d2590c3085923ff9e1b565748b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/datablog.roman-halliday.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/datablog.roman-halliday.com\/#\/schema\/person\/575f96d2590c3085923ff9e1b565748b","name":"david","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/acddbc676a1d5c73795edcf0627ee39e5aa947da9033b58373e03d93122cb3b7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/acddbc676a1d5c73795edcf0627ee39e5aa947da9033b58373e03d93122cb3b7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/acddbc676a1d5c73795edcf0627ee39e5aa947da9033b58373e03d93122cb3b7?s=96&d=mm&r=g","caption":"david"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/acddbc676a1d5c73795edcf0627ee39e5aa947da9033b58373e03d93122cb3b7?s=96&d=mm&r=g"}}]}},"_links":{"self":[{"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/posts\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":5,"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/posts\/60\/revisions"}],"predecessor-version":[{"id":104,"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/posts\/60\/revisions\/104"}],"wp:attachment":[{"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/categories?post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/datablog.roman-halliday.com\/index.php\/wp-json\/wp\/v2\/tags?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}