title: String_agg in sql server 2016
body: <p>Here is my code in sql server 2016</p>
  
  <pre><code>insert into @entdef_queries(entitydefid,squery)
              select A.entitydefid
                  ,
                  (
                      select String_agg(cols,ioperator)
                      from
                      (
                          Select case when lower(b.metricdatatype) like 'string%' or lower(b.metricdatatype) like '%char%' or lower(b.metricdatatype) ='bit' or lower(b.metricdatatype) like 'date%' then
                                  ' lower("'+ b.metricname +'") ' + b.metriccondition +' '''+ b.value1 +''' ' 
                              when lower(b.metricdatatype) not like 'string%' and lower(b.metricdatatype) like '%char%' and lower(b.metricdatatype) !='bit' and lower(b.metricdatatype) not like 'date%' then 
                                  case when lower(b.metriccondition)='between' then  ' "'+ b.metricname +'"' + b.metriccondition +' '+ b.value1 +' and ' + b.value2 + ' '
                                      else ' "'+ b.metricname +'"' + b.metriccondition +'  '+ b.value1 + ' ' end  
                              end cols
                          , ( select distinct operators from @entdef_data C where A.entitydefid=C.entitydefid) ioperator
                          from 
                          @entdef_data B
                          where A.entitydefid=b.entitydefid
                      )inp
                  )
              from
              @entdef_data A
              group by A.entitydefid;   
  </code></pre>
  
  <p>When I try to execute the following code..its throwing an error <code>String_agg</code> is not a built in function.</p>