{"id":4788,"date":"2016-03-13T00:27:10","date_gmt":"2016-03-12T18:57:10","guid":{"rendered":"http:\/\/sqlhints.com\/?p=4788"},"modified":"2016-03-13T00:30:39","modified_gmt":"2016-03-12T19:00:39","slug":"string_split-function-in-sql-server-2016","status":"publish","type":"post","link":"https:\/\/sqlhints.com\/2016\/03\/13\/string_split-function-in-sql-server-2016\/","title":{"rendered":"STRING_SPLIT function in Sql Server 2016"},"content":{"rendered":"<p style=\"text-align: justify;\"><strong>STRING_SPLIT<\/strong> is one of the new built-in table valued function introduced in Sql Server 2016. This table valued function splits the input string by the specified character separator and returns output as a table.<\/p>\n<p><strong>SYNTAX:<\/strong><\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nSTRING_SPLIT (string, separator)\r\n<\/pre>\n<p style=\"text-align: justify;\">Where <em><strong>string <\/strong><\/em>is a character delimited string of type CHAR, VARCHAR, NVARCHAR and NCHAR.<br \/>\n<em><strong>Separator <\/strong><\/em>is a single character delimiter by which the input string need to be split. The separator character can be one of the type: CHAR(1), VARCHAR(1), NVARCHAR(1) and NCHAR(1).<br \/>\nResult of this function is a table with one column with column name as value.<\/p>\n<p style=\"text-align: justify;\">Let us understand this function with extensive list of examples:<\/P><\/p>\n<p style=\"text-align: justify;\"><strong>EXAMPLE 1:<\/strong> This example shows how we can use STRING_SPLIT function to splits the comma separated string.<\/P><\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nSELECT * \r\nFROM STRING_SPLIT(&#039;Basavaraj,Kalpana,Shree&#039;,&#039;,&#039;)\r\n<\/pre>\n<p><strong>RESULT:<\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-1.jpg\" rel=\"attachment wp-att-4789\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-1.jpg\" alt=\"Sql STRING_SPLIT Function Example 1\" width=\"500\" height=\"234\" class=\"alignnone size-full wp-image-4789\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>EXAMPLE 2:<\/strong> In this example, passing string and separator parameters as variables.<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nDECLARE @string VARCHAR(100) = &#039;Basavaraj,Kalpana,Shree&#039;,\r\n        @separator CHAR(1) =&#039;,&#039; \r\nSELECT * \r\nFROM STRING_SPLIT(@string,@separator)\r\n<\/pre>\n<p><strong>RESULT:<\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-2.jpg\" rel=\"attachment wp-att-4790\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-2.jpg\" alt=\"Sql STRING_SPLIT Function Example 2\" width=\"500\" height=\"283\" class=\"alignnone size-full wp-image-4790\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Let us execute the following statement which is moving the split result into a temp table. After inserting the split result into the temp table we are verifying the split result column type by using the sp_columns system stored procedure.<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nDECLARE @string VARCHAR(100) = &#039;Basavaraj,Kalpana,Shree&#039;,\r\n        @separator CHAR(1) =&#039;,&#039; \r\nSELECT *\r\n\tINTO #TempTable\r\nFROM STRING_SPLIT(@string,@separator)\r\nGO\r\nTEMPDB..sp_Columns #TempTable\r\n<\/pre>\n<p><strong>RESULT:<\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-21.jpg\" rel=\"attachment wp-att-4791\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-21.jpg\" alt=\"Sql STRING_SPLIT Function Example 21\" width=\"575\" height=\"328\" class=\"alignnone size-full wp-image-4791\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">From the result we can conclude that the size of the value column in the table returned by the STRING_SPLIT function will be same as that of the string which needs to split and type will be VARCHAR if the string which needs to be split is of type CHAR or VARCHAR.<\/p>\n<p style=\"text-align: justify;\"><strong>EXAMPLE 3:<\/strong> This example demonstrates that the separator can be of only one character.<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nDECLARE @string VARCHAR(100) = &#039;Basavaraj#@Kalpana#@Shree&#039;,\r\n        @separator CHAR(2) =&#039;#@&#039; \r\nSELECT * FROM STRING_SPLIT(@string,@separator)\r\n<\/pre>\n<p><strong>RESULT:<\/strong><\/p>\n<p style=\"text-align: justify;color: red;\">Msg 214, Level 16, State 11, Line 3<br \/>\nProcedure expects parameter &#8216;separator&#8217; of type &#8216;nchar(1)\/nvarchar(1)&#8217;.<\/p>\n<p style=\"text-align: justify;\">Let us re-try this example by using a single character separator instead of two characters<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nDECLARE @string VARCHAR(100) = &#039;Basavaraj#@Kalpana#@Shree&#039;,\r\n        @separator CHAR(2) =&#039;@&#039; \r\nSELECT * FROM STRING_SPLIT(@string,@separator)\r\n<\/pre>\n<p><strong>RESULT:<\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-3.jpg\" rel=\"attachment wp-att-4792\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-3.jpg\" alt=\"Sql STRING_SPLIT Function Example 3\" width=\"500\" height=\"258\" class=\"alignnone size-full wp-image-4792\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">From the above example results it is clear that the separator should always be a single character of any one of the data type CHAR(1), VARCHAR(1), NVARCHAR(1) and NCHAR(1).<\/p>\n<p style=\"text-align: justify;\"><strong>EXAMPLE 4:<\/strong> In this example both the string which needs to be split and the separator are double byte characters.<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nDECLARE @string NVARCHAR(100) = N&#039;\u4f60\u597d\u4e2d\u4f60\u597d&#039;,\r\n        @separator NCHAR(1) =N&#039;\u4e2d&#039; \r\nSELECT * FROM STRING_SPLIT(@string,@separator)\r\n<\/pre>\n<p><strong>RESULT:<\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-4.jpg\" rel=\"attachment wp-att-4793\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-4.jpg\" alt=\"Sql STRING_SPLIT Function Example 4\" width=\"500\" height=\"240\" class=\"alignnone size-full wp-image-4793\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Let us execute the following statement which is moving the split result into a temp table. After inserting the split result into the temp table we are verifying the split result column type by using the sp_columns system stored procedure.<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nDECLARE @string NVARCHAR(100) = N&#039;\u4f60\u597d\u4e2d\u4f60\u597d&#039;,\r\n        @separator NCHAR(1) =N&#039;\u4e2d&#039; \r\nSELECT * \r\n\tINTO #TempTbl\r\nFROM STRING_SPLIT(@string,@separator)\r\nGO\r\nTEMPDB..sp_Columns #TempTbl\r\n<\/pre>\n<p><strong>RESULT:<\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-41.jpg\" rel=\"attachment wp-att-4794\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-41.jpg\" alt=\"Sql STRING_SPLIT Function Example 41\" width=\"575\" height=\"293\" class=\"alignnone size-full wp-image-4794\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">From the result we can conclude that the size of the value column in the table returned by the STRING_SPLIT function will be same as that of the string which needs to split and type will be NVARCHAR if the string which needs to be split is of type NCHAR or NVARCHAR.<\/p>\n<p style=\"text-align: justify;\"><strong>EXAMPLE 5:<\/strong> This example explains the behavior of the STRING_SPLIT function if the parameters are null<\/p>\n<p style=\"text-align: justify;\">Let us execute the following statement where the Separator is NULL<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nSELECT * FROM STRING_SPLIT(&#039;Basavaraj,Kalpana,Shree&#039;,NULL)\r\n<\/pre>\n<p><strong>RESULT:<\/strong><\/p>\n<p style=\"text-align: justify;color: red;\">Msg 214, Level 16, State 11, Line 1<br \/>\nProcedure expects parameter &#8216;separator&#8217; of type &#8216;nchar(1)\/nvarchar(1)&#8217;.<\/p>\n<p style=\"text-align: justify;\">Let us execute the following statement where the string which needs to be split is NULL.<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nSELECT * FROM STRING_SPLIT(NULL,&#039;,&#039;)\r\n<\/pre>\n<p><strong>RESULT:<\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-5.jpg\" rel=\"attachment wp-att-4795\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-5.jpg\" alt=\"Sql STRING_SPLIT Function Example 5\" width=\"400\" height=\"152\" class=\"alignnone size-full wp-image-4795\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>EXAMPLE 6:<\/strong> In this example we are splitting the string and the resultant table is joined with another table<\/p>\n<p style=\"text-align: justify;\">Let us create a customer table with sample records by executing the following script<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\n--Create customer table\r\nCREATE TABLE Customer \r\n( CustomerId INT IDENTITY (1, 1) NOT NULL ,\r\n  FirstName NVARCHAR(50), LastName NVARCHAR(50))\r\nGO\r\n--Insert 3 sample records into the customer table \r\nINSERT INTO dbo.Customer ( FirstName, LastName )\r\nVALUES (&#039;Basavaraj&#039;,&#039;Biradar&#039;),\r\n       (&#039;Kalpana&#039;,&#039;Patil&#039;),\r\n       (&#039;Shree&#039;,&#039;Biradar&#039;)\r\n<\/pre>\n<p style=\"text-align: justify;\">Execute the below state to split the string and the resultant table is joined with another table<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nSELECT *\r\nFROM dbo.Customer C \r\n\t\tINNER JOIN STRING_SPLIT(&#039;Basavaraj,Shree&#039;,&#039;,&#039;) SF\r\n\t\t\tON C.FirstName = SF.value\r\n<\/pre>\n<p><strong>RESULT:<\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-6.jpg\" rel=\"attachment wp-att-4796\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-6.jpg\" alt=\"Sql STRING_SPLIT Function Example 6\" width=\"550\" height=\"255\" class=\"alignnone size-full wp-image-4796\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>EXAMPLE 7:<\/strong> This example explains the behavior of the STRING_SPLIT function if the string to be split is an empty string<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nSELECT * FROM STRING_SPLIT(&#039;&#039;,&#039;,&#039;)\r\n<\/pre>\n<p><strong>RESULT:<\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-7.jpg\" rel=\"attachment wp-att-4797\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-7.jpg\" alt=\"Sql STRING_SPLIT Function Example 7\" width=\"400\" height=\"161\" class=\"alignnone size-full wp-image-4797\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>EXAMPLE 8:<\/strong> This example shows the behavior of the STRING_SPLIT function if the string to be split is terminated by the separator character<\/p>\n<pre class=\"brush: sql; gutter: false\">\r\nSELECT * FROM STRING_SPLIT(&#039;Basavaraj,Shree,&#039;,&#039;,&#039;)\r\n<\/pre>\n<p><strong>RESULT: <\/strong><br \/>\n<a href=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-8.jpg\" rel=\"attachment wp-att-4798\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sqlhints.com\/wp-content\/uploads\/2016\/03\/Sql-STRING_SPLIT-Function-Example-8.jpg\" alt=\"Sql STRING_SPLIT Function Example 8\" width=\"500\" height=\"225\" class=\"alignnone size-full wp-image-4798\" \/><\/a><br \/>\n<strong>[ALSO READ]<\/strong><\/p>\n<table border=\"1\">\n<tbody>\n<tr>\n<td style=\"border: 1pt solid windowtext; text-align: left; color: white; background-color: #808080;\" colspan=\"2\" valign=\"top\"><strong>SQL SERVER 2016<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1pt solid windowtext; text-align: left; background-color: #d8d8d8;\" colspan=\"2\">\n<ul>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/10\/25\/json-in-sql-server-2016\/\" target=\"_blank\">Native JSON Support in Sql Server 2016<\/a>\n<ul>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/11\/15\/for-json-clause-in-sql-server-2016\/\" target=\"_blank\">FOR JSON Clause in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/11\/22\/openjson-function-in-sql-server-2016\/\" target=\"_blank\">OPENJSON Function in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/11\/15\/isjson-function-in-sql-server-2016\/\" target=\"_blank\">ISJSON Function in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/11\/15\/json_value-function-in-sql-server-2016\/\" target=\"_blank\">JSON_VALUE Function in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/11\/15\/json_query-function-in-sql-server-2016\/\" target=\"_blank\">JSON_QUERY Function in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/11\/15\/lax-and-strict-json-path-modes-in-sql-server-2016\/\" target=\"_blank\">lax and strict JSON Path modes in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/11\/28\/indexing-strategy-for-json-value-in-sql-server-2016\/\" target=\"_blank\">Indexing Strategy for JSON Value in Sql Server 2016<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/11\/12\/drop-if-exists-statement-in-sql-server-2016\/\" target=\"_blank\">DROP IF EXISTS Statement in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/11\/29\/compare-execution-plan-in-sql-server-2016\/\" target=\"_blank\">Compare Execution Plans in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/11\/live-query-statistics-in-sql-server-2016\/\" target=\"_blank\">Live Query Statistics in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/12\/datediff_big-function-in-sql-server-2016\/\" target=\"_blank\">DATEDIFF_BIG Function in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/12\/difference-between-datediff-and-datediff_big-functions-in-sql-server\/\" target=\"_blank\">Difference between DATEDIFF and DATEDIFF_BIG functions in Sql Server<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/15\/session_context-in-sql-server-2016\/\" target=\"_blank\">SESSION_CONTEXT in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/28\/gzip-compress-and-decompress-functions-in-sql-server-2016\/\" target=\"_blank\">GZIP COMPRESS and DECOMPRESS functions in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/31\/temporal-tables-in-sql-server-2016-part-1-introduction-to-temporal-tables-and-dml-operations-on-the-temporal-table\/\" target=\"_blank\">Temporal Tables in Sql Server 2016<\/a><\/li>\n<ul>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/31\/temporal-tables-in-sql-server-2016-part-1-introduction-to-temporal-tables-and-dml-operations-on-the-temporal-table\/\" target=\"_blank\">Introduction to Temporal Tables and DML operations on the Temporal Table<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/31\/temporal-tables-in-sql-server-2016-part-2-querying-system-versioned-temporal-table\/\" target=\"_blank\">Querying System-Versioned Temporal Table<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/31\/temporal-tables-in-sql-server-2016-part-3-enabling-system-versioning-for-an-existing-regular-table\/\" target=\"_blank\">Enabling System Versioning for an Existing Regular Table<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2015\/12\/31\/temporal-tables-in-sql-server-2016-part-4-ddl-operations-on-the-system-versioned-temporal-table\/\" target=\"_blank\">DDL operations on the System-Versioned Temporal Table<\/a><\/li>\n<\/ul>\n<li><a href=\"https:\/\/sqlhints.com\/2016\/01\/23\/row-level-security-in-sql-server-2016\/\" target=\"_blank\">Row level security in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2016\/02\/21\/dynamic-data-masking-in-sql-server-2016\/\" target=\"_blank\">Dynamic Data Masking in Sql Server 2016<\/a><\/li>\n<li><a href=\"https:\/\/sqlhints.com\/2016\/03\/13\/string_split-function-in-sql-server-2016\/\" target=\"_blank\">STRING_SPLIT function in Sql Server 2016<\/a><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>STRING_SPLIT is one of the new built-in table valued function introduced in Sql Server 2016. This table valued function splits the input string by the specified character separator and returns output as a table. SYNTAX: STRING_SPLIT (string, separator) Where string is a character delimited string of type CHAR, VARCHAR, NVARCHAR and NCHAR. Separator is a &hellip; <a href=\"https:\/\/sqlhints.com\/2016\/03\/13\/string_split-function-in-sql-server-2016\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">STRING_SPLIT function in Sql Server 2016<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3,830],"tags":[1170,1171,1169,1164,1163,1162,1165,1166,1167,1168,1172],"class_list":["post-4788","post","type-post","status-publish","format-standard","hentry","category-sql-server","category-sql-server-2016","tag-msg-214","tag-procedure-expects-parameter-separator-of-type-nchar1nvarchar1","tag-split-delimited-string-in-sql","tag-sql-2016-string-split","tag-sql-string-split","tag-string-split","tag-string-split-in-sql-2016","tag-string-split-in-sql-server-2016","tag-string_split-in-sql","tag-string_split-in-sql-2016","tag-string_split-with-examples"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3xNAz-1fe","_links":{"self":[{"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/posts\/4788","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/comments?post=4788"}],"version-history":[{"count":8,"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/posts\/4788\/revisions"}],"predecessor-version":[{"id":4807,"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/posts\/4788\/revisions\/4807"}],"wp:attachment":[{"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/media?parent=4788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/categories?post=4788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlhints.com\/wp-json\/wp\/v2\/tags?post=4788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}