.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Text.RegularExpressions;
using System.Linq;
					
public class Program
{
	public static void Main()
	{
		string simplequery=@" select c.id,person_id,c.customer_no,c.status,p.first_name,p.last_name,p.dob as DateOfBirth
						from customer c 
						inner join person p on p.id=c.person_id";
		string query=@" select c.id,person_id,c.customer_no,c.status,p.first_name,p.last_name,p.dob as DateOfBirth,concat(p.first_name,' ',p.last_name) as fullName
						from customer c 
						inner join person p on p.id=c.person_id";
		query = Regex.Replace(query, @"\t|\n|\r", "");
		int pFrom = query.IndexOf("select ") + "select ".Length;
        int pTo = query.LastIndexOf("from ");
        String commaSeperatedFields = query.Substring(pFrom, pTo - pFrom);
		
		string[] IgnoredFields = new string[]{"id", "person_id","DateOfBirth"};
	    var fieldsWithAlias=commaSeperatedFields.Split(',');
		var fields=fieldsWithAlias.Select(x=>(x.Contains(".")?x.Split('.')[1]:x));
		fields=fields.Select(x=>(x.Contains(" as ")?x.Split(new string[] { " as " }, StringSplitOptions.None)[1]:x));
		var resultArray=fields.Except(IgnoredFields);
		var result =String.Join(",",resultArray);
		
		var customQuery=@"select "+result +" from ("+query+")trimmed" ;
		Console.WriteLine(customQuery);
	}
}
;