{"id":2116,"date":"2021-07-05T08:00:00","date_gmt":"2021-07-05T05:00:00","guid":{"rendered":"https:\/\/www.dataplatform.gr\/?p=2116"},"modified":"2023-04-26T02:03:44","modified_gmt":"2023-04-25T23:03:44","slug":"pos-mporoyme-na-doyme-tin-istoriki-eik","status":"publish","type":"post","link":"https:\/\/www.dataplatform.gr\/en\/pos-mporoyme-na-doyme-tin-istoriki-eik\/","title":{"rendered":"How can we see the historical snapshot of a table in SQL Server using Temporal Tables (aka Row Versioning)"},"content":{"rendered":"<p>Coming from the SQL Server 2016 version, SQL Server brought the ability to view a table historically over time. That is, to have a row versioning in the table with the possibility to choose the time we want. This process is made possible by the use of <strong>temporal tables<\/strong>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What are temporal tables<\/h2>\n\n\n\n<p>The <strong>temporal tables<\/strong> are tables that are designed to keep their historicity to facilitate easy access <strong>point in time<\/strong>.<\/p>\n\n\n\n<p>Each <strong>temporal table<\/strong> it must have two <strong>datetime2 <\/strong>columns that are automatically updated by the<strong> database engine<\/strong>. Their job is to record how long each record was valid and when it was modified.<\/p>\n\n\n\n<p>Also one is created <strong>historical table <\/strong>with the same shape as the original one whose job is to store the <strong>previous values of records (row versions) <\/strong>every time they happen <strong>update <\/strong>the <strong>delete<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How temporal tables work<\/h2>\n\n\n\n<p>To check it <strong>validity <\/strong>of records, the two system datetime2 columns we mentioned before are used:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>As <strong>StartDate<\/strong> is the date it happened <strong>insert <\/strong>the subscription.<\/li>\n\n\n\n<li>As <strong>EndDate<\/strong> is the date it was modified ie it was done <strong>update <\/strong>the <strong>delete<\/strong>. If the date is shown <strong>year 9999<\/strong> means that this line<strong> <\/strong>is the latest and is in effect.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">The example<\/h2>\n\n\n\n<p>First we will make the temporal table. The difference with a normal table is that we must have defined the two systemic pillars <strong>StartDate <\/strong>and <strong>EndDate<\/strong>, as well as his name <strong>history table<\/strong>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">CREATE TABLE ipallilos (\n id INT IDENTITY(1,1) PRIMARY KEY\n,Onoma VARCHAR(30)\n,Epitheto VARCHAR(30)\n,Misthos DECIMAL\n,StartDate datetime2 generated always as row start\n,EndDate datetime2 generated always as row end\n,PERIOD FOR SYSTEM_TIME (StartDate, EndDate)\n)\nWITH(SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.ipallilosHist)) \nGO<\/pre>\n\n\n\n<p>We fill the table with entries:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">INSERT INTO ipallilos (onoma,epitheto,misthos) VALUES\n( 'Stratos', 'Matzouranis',3500.00),\n( 'Nikos', 'Georgiou',1600.00),\n( 'Anastasis', 'Papandreou',1900.00)\nGO\n\nselect * from ipallilos<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"172\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-01.png\" alt=\"\" class=\"wp-image-2117\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-01.png 580w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-01-300x89.png 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/figure>\n\n\n\n<p>But here something strange is happening while I passed the registrations 20:30 it seems like 18:30 passed. This happens as the time it uses is not with the <strong>timezone <\/strong>which the server has, i.e. GMT+2 but with <strong>UTC<\/strong>.<\/p>\n\n\n\n<p>In order to see the real time when the recordings were made, we should add to the time the difference between the UTC timezone and the timezone of the system:<\/p>\n\n\n\n<p><em>* The StartDate time is different in this image as I rebuilt the table from scratch afterwards to account for this phenomenon.<\/em><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">select *,DATEADD(HOUR,DATEDIFF(hour,  SYSUTCDATETIME(),SYSDATETIME() ),StartDate) as RealStartDate from dbo.ipallilos<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"168\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-07.png\" alt=\"\" class=\"wp-image-2123\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-07.png 749w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-07-300x67.png 300w\" sizes=\"auto, (max-width: 749px) 100vw, 749px\" \/><figcaption class=\"wp-element-caption\">01<\/figcaption><\/figure>\n\n\n\n<p>Now let&#039;s try to make one <strong>insert<\/strong>, one <strong>update <\/strong>and one <strong>delete<\/strong>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">insert into ipallilos (onoma,epitheto,misthos) VALUES\n( 'Maria', 'Nikolaou',1500.00)\nGO\n\nupdate ipallilos set misthos = 4000\nwhere id = 1\n\ndelete ipallilos where  id = 3\n\nselect * from dbo.ipallilos<\/pre>\n\n\n\n<p>We see that in the first record the <strong>StartDate <\/strong>changed. This happened as <strong>after the update<\/strong> the old registration went to <strong>history table<\/strong> and the record we see here passed as new:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"566\" height=\"128\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-02.png\" alt=\"\" class=\"wp-image-2118\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-02.png 566w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-02-300x68.png 300w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><figcaption class=\"wp-element-caption\">02<\/figcaption><\/figure>\n\n\n\n<p>So to <strong>history table<\/strong> we will have the registration done <strong>update <\/strong>and the one that happened <strong>delete<\/strong>. As <strong>EndDate <\/strong>we see the time these actions took place:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">select * from dbo.ipallilosHist<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"154\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-03.png\" alt=\"\" class=\"wp-image-2119\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-03.png 580w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-03-300x80.png 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><figcaption class=\"wp-element-caption\">03<\/figcaption><\/figure>\n\n\n\n<p>Let&#039;s see how the registrations were between 21:30 and 22:30:<\/p>\n\n\n\n<p><em>** I can&#039;t state the exact time because if I don&#039;t put between it will want me to put the exact time when the change was made at ms level.<\/em><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">SELECT * FROM dbo.ipallilos  \nFOR SYSTEM_TIME BETWEEN '2020-10-06 21:30' and '2020-10-06 22:00'<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"566\" height=\"148\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-04.png\" alt=\"\" class=\"wp-image-2120\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-04.png 566w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-04-300x78.png 300w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><figcaption class=\"wp-element-caption\">04<\/figcaption><\/figure>\n\n\n\n<p>Oops!! this image is not the one we had at ~22:00 as I updated these values at 22:10. This happened as we said <strong>SYSTEM_TIME<\/strong> it is in UTC timezone. <\/p>\n\n\n\n<p>To see the table with the time of our own timezone that we have on the server, we should use the functions that we showed before in parameters:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">declare \n@realtimeFROM datetime,\n@realtimeTO datetime;\nset @realtimeFROM = DATEADD(HOUR,DATEDIFF(hour,SYSDATETIME(),SYSUTCDATETIME() ),'2020-10-06 21:30');\nset @realtimeTO = DATEADD(HOUR,DATEDIFF(hour,SYSDATETIME(),SYSUTCDATETIME() ),'2020-10-06 22:00');\n\nSELECT * FROM dbo.ipallilos  \nFOR SYSTEM_TIME BETWEEN @realtimeFROM and @realtimeTO<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"144\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-05.png\" alt=\"\" class=\"wp-image-2121\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-05.png 575w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-05-300x75.png 300w\" sizes=\"auto, (max-width: 575px) 100vw, 575px\" \/><figcaption class=\"wp-element-caption\">05<\/figcaption><\/figure>\n\n\n\n<p>To see all the historical documents together with the applicable ones:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">SELECT * FROM dbo.ipallilos  \nFOR SYSTEM_TIME ALL;<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"571\" height=\"154\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-06.png\" alt=\"\" class=\"wp-image-2122\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-06.png 571w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/tt-06-300x81.png 300w\" sizes=\"auto, (max-width: 571px) 100vw, 571px\" \/><figcaption class=\"wp-element-caption\">06<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How to disable the temporal table<\/h2>\n\n\n\n<p>To delete a temporal table we must first close versioning and delete both the normal table and the historical one:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">ALTER TABLE [dbo].[ipallilos] SET ( SYSTEM_VERSIONING = OFF)\nGO\nDROP TABLE [dbo].[ipallilos]\nGO\nDROP TABLE [dbo].[ipallilosHist]\nGO<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Sources:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/tables\/temporal-tables?view=sql-server-ver15\" target=\"_blank\">Temporal tables<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Coming from the SQL Server 2016 version, SQL Server brought the ability to view a table historically over time. That is, to have a row versioning in the table with the possibility to choose the time we want. This process is made possible by the use of temporal tables. What are temporal tables [\u2026]<\/p>","protected":false},"author":1,"featured_media":702,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,15],"tags":[29,23,115,6,114],"class_list":["post-2116","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-databases","category-ms-sqlserver","tag-databases","tag-microsoft","tag-row-versioning","tag-sqlserver","tag-temporal-tables"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning) - DataPlatform.gr<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dataplatform.gr\/en\/pos-mporoyme-na-doyme-tin-istoriki-eik\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning) - DataPlatform.gr\" \/>\n<meta property=\"og:description\" content=\"\u0395\u03c1\u03c7\u03cc\u03bc\u03b5\u03bd\u03bf\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7 SQL Server 2016 \u03bf SQL Server \u03ad\u03c6\u03b5\u03c1\u03b5 \u03c4\u03b7 \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ac \u03bc\u03ad\u03c3\u03b1 \u03c3\u03c4\u03bf\u03bd \u03c7\u03c1\u03cc\u03bd\u03bf \u03ad\u03bd\u03b1\u03bd \u03c0\u03af\u03bd\u03b1\u03ba\u03b1. \u0394\u03b7\u03bb\u03b1\u03b4\u03ae \u03bd\u03b1 \u03ad\u03c7\u03bf\u03c5\u03bc\u03b5 \u03ad\u03bd\u03b1 row versioning \u03c3\u03c4\u03bf\u03bd \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03bc\u03b5 \u03c4\u03b7 \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bd\u03b1 \u03b5\u03c0\u03b9\u03bb\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03bf\u03bd\u03b9\u03ba\u03ae \u03c3\u03c4\u03b9\u03b3\u03bc\u03ae \u03c0\u03bf\u03c5 \u03b8\u03ad\u03bb\u03bf\u03c5\u03bc\u03b5. \u0391\u03c5\u03c4\u03ae \u03b7 \u03b4\u03b9\u03b1\u03b4\u03b9\u03ba\u03b1\u03c3\u03af\u03b1 \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03b5\u03c6\u03b9\u03ba\u03c4\u03ae \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03c9\u03bd temporal tables. \u03a4\u03b9 \u03b5\u03af\u03bd\u03b1\u03b9 \u03bf\u03b9 temporal tables [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dataplatform.gr\/en\/pos-mporoyme-na-doyme-tin-istoriki-eik\/\" \/>\n<meta property=\"og:site_name\" content=\"DataPlatform.gr\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dataplatform.gr\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-05T05:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-25T23:03:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Stratos Matzouranis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stratos Matzouranis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/\"},\"author\":{\"name\":\"Stratos Matzouranis\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\"},\"headline\":\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning)\",\"datePublished\":\"2021-07-05T05:00:00+00:00\",\"dateModified\":\"2023-04-25T23:03:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/\"},\"wordCount\":76,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"keywords\":[\"Databases\",\"Microsoft\",\"Row-Versioning\",\"SQL Server\",\"Temporal Tables\"],\"articleSection\":[\"Databases\",\"Microsoft SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/\",\"name\":\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning) - DataPlatform.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"datePublished\":\"2021-07-05T05:00:00+00:00\",\"dateModified\":\"2023-04-25T23:03:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-doyme-tin-istoriki-eik\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Databases\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Microsoft SQL Server\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/ms-sqlserver\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"name\":\"dataplatform.gr - Sky is not the limit!\",\"description\":\"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dataplatform.gr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\",\"name\":\"dataplatform.gr\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"width\":322,\"height\":139,\"caption\":\"dataplatform.gr\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dataplatform.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dataplatform-gr\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\",\"name\":\"Stratos Matzouranis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"caption\":\"Stratos Matzouranis\"},\"sameAs\":[\"https:\\\/\\\/www.dataplatform.gr\"],\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/en\\\/author\\\/stratos-matzouranis\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning) - DataPlatform.gr","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:\/\/www.dataplatform.gr\/en\/pos-mporoyme-na-doyme-tin-istoriki-eik\/","og_locale":"en_US","og_type":"article","og_title":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning) - DataPlatform.gr","og_description":"\u0395\u03c1\u03c7\u03cc\u03bc\u03b5\u03bd\u03bf\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7 SQL Server 2016 \u03bf SQL Server \u03ad\u03c6\u03b5\u03c1\u03b5 \u03c4\u03b7 \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ac \u03bc\u03ad\u03c3\u03b1 \u03c3\u03c4\u03bf\u03bd \u03c7\u03c1\u03cc\u03bd\u03bf \u03ad\u03bd\u03b1\u03bd \u03c0\u03af\u03bd\u03b1\u03ba\u03b1. \u0394\u03b7\u03bb\u03b1\u03b4\u03ae \u03bd\u03b1 \u03ad\u03c7\u03bf\u03c5\u03bc\u03b5 \u03ad\u03bd\u03b1 row versioning \u03c3\u03c4\u03bf\u03bd \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03bc\u03b5 \u03c4\u03b7 \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bd\u03b1 \u03b5\u03c0\u03b9\u03bb\u03ad\u03be\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03bf\u03bd\u03b9\u03ba\u03ae \u03c3\u03c4\u03b9\u03b3\u03bc\u03ae \u03c0\u03bf\u03c5 \u03b8\u03ad\u03bb\u03bf\u03c5\u03bc\u03b5. \u0391\u03c5\u03c4\u03ae \u03b7 \u03b4\u03b9\u03b1\u03b4\u03b9\u03ba\u03b1\u03c3\u03af\u03b1 \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03b5\u03c6\u03b9\u03ba\u03c4\u03ae \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03c9\u03bd temporal tables. \u03a4\u03b9 \u03b5\u03af\u03bd\u03b1\u03b9 \u03bf\u03b9 temporal tables [&hellip;]","og_url":"https:\/\/www.dataplatform.gr\/en\/pos-mporoyme-na-doyme-tin-istoriki-eik\/","og_site_name":"DataPlatform.gr","article_publisher":"https:\/\/www.facebook.com\/dataplatform.gr\/","article_published_time":"2021-07-05T05:00:00+00:00","article_modified_time":"2023-04-25T23:03:44+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","type":"image\/png"}],"author":"Stratos Matzouranis","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stratos Matzouranis","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/#article","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/"},"author":{"name":"Stratos Matzouranis","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf"},"headline":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning)","datePublished":"2021-07-05T05:00:00+00:00","dateModified":"2023-04-25T23:03:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/"},"wordCount":76,"commentCount":0,"publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","keywords":["Databases","Microsoft","Row-Versioning","SQL Server","Temporal Tables"],"articleSection":["Databases","Microsoft SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/","url":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/","name":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning) - DataPlatform.gr","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/#primaryimage"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","datePublished":"2021-07-05T05:00:00+00:00","dateModified":"2023-04-25T23:03:44+00:00","breadcrumb":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/#primaryimage","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-doyme-tin-istoriki-eik\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae","item":"https:\/\/www.dataplatform.gr\/"},{"@type":"ListItem","position":2,"name":"Databases","item":"https:\/\/www.dataplatform.gr\/category\/databases\/"},{"@type":"ListItem","position":3,"name":"Microsoft SQL Server","item":"https:\/\/www.dataplatform.gr\/category\/databases\/ms-sqlserver\/"},{"@type":"ListItem","position":4,"name":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03bf\u03bd SQL Server \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 Temporal Tables (a.k.a. Row Versioning)"}]},{"@type":"WebSite","@id":"https:\/\/www.dataplatform.gr\/#website","url":"https:\/\/www.dataplatform.gr\/","name":"dataplatform.gr - Sky is not the limit!","description":"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.","publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dataplatform.gr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dataplatform.gr\/#organization","name":"dataplatform.gr","url":"https:\/\/www.dataplatform.gr\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","width":322,"height":139,"caption":"dataplatform.gr"},"image":{"@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dataplatform.gr\/","https:\/\/www.linkedin.com\/company\/dataplatform-gr\/"]},{"@type":"Person","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf","name":"Stratos Matzouranis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","caption":"Stratos Matzouranis"},"sameAs":["https:\/\/www.dataplatform.gr"],"url":"https:\/\/www.dataplatform.gr\/en\/author\/stratos-matzouranis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/comments?post=2116"}],"version-history":[{"count":2,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2116\/revisions"}],"predecessor-version":[{"id":5440,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2116\/revisions\/5440"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media\/702"}],"wp:attachment":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media?parent=2116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/categories?post=2116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/tags?post=2116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}