Using the approximation
$$\Delta \mathrm{center}=\frac{m_p}{m_\odot}\cdot\frac{\mathrm{dist}_p}{r_\odot}$$
and data from List of gravitationally rounded objects of the Solar System - Wikipedia:
Name |
Distance from the Sun (km) |
Mass (kg) |
Mass (in solar masses) |
Distance (in solar radii) |
ΔCenter |
Sun |
0 |
1.99 ⋅ 1030 |
1 |
0 |
0 |
Mercury |
5.79 ⋅ 107 |
3.30 ⋅ 1023 |
1.66 ⋅ 10-7 |
8.32 ⋅ 101 |
0.00001 |
Venus |
1.08 ⋅ 108 |
4.87 ⋅ 1024 |
2.45 ⋅ 10-6 |
1.55 ⋅ 102 |
0.00038 |
Earth |
1.50 ⋅ 108 |
5.97 ⋅ 1024 |
3.00 ⋅ 10-6 |
2.15 ⋅ 102 |
0.00065 |
Mars |
2.28 ⋅ 108 |
6.42 ⋅ 1023 |
3.23 ⋅ 10-7 |
3.27 ⋅ 102 |
0.00011 |
Jupiter |
7.78 ⋅ 108 |
1.90 ⋅ 1027 |
9.55 ⋅ 10-4 |
1.12 ⋅ 103 |
1.06735 |
Saturn |
1.43 ⋅ 109 |
5.69 ⋅ 1026 |
2.86 ⋅ 10-4 |
2.05 ⋅ 103 |
0.58576 |
Uranus |
2.87 ⋅ 109 |
8.68 ⋅ 1025 |
4.37 ⋅ 10-5 |
4.12 ⋅ 103 |
0.18007 |
Neptune |
4.50 ⋅ 109 |
1.02 ⋅ 1026 |
5.15 ⋅ 10-5 |
6.46 ⋅ 103 |
0.33278 |
Which sums to a shift of 2.17 Sun's radii if all planets were aligned. Jupiter clearly dominates (about half of the total effect) and would be enough to move the center-of-gravity outside the Sun. Only the heavy outer planets (Jupiter, Saturn, Uranus, Neptune) have a non negligible influence.
C# source code for reproducibility:
void Main()
{
// http://en.wikipedia.org/wiki/List_of_gravitationally_rounded_objects_of_the_Solar_System
Body[] planets={
new Body{Name="Mercury",Distance=57909175,Mass=3.302E23},
new Body{Name="Venus",Distance=108208930,Mass=4.8690E24},
new Body{Name="Earth",Distance=149597890,Mass=5.9742E24},
new Body{Name="Mars",Distance=227936640,Mass=6.4191E23},
new Body{Name="Jupiter",Distance=778412010,Mass=1.8987E27},
new Body{Name="Saturn",Distance=1426725400,Mass=5.6851E26},
new Body{Name="Uranus",Distance=2870972200,Mass=8.6849E25},
new Body{Name="Neptune",Distance=4498252900,Mass=1.0244E26},
};
var bodies=new[]{Sun}.Concat(planets);
bodies.Select(planet=>new{
Name=planet.Name,
Distance=planet.Distance.ToString("E2"),
Mass=planet.Mass.ToString("E2"),
DistanceInSunRadii=planet.DistanceInSunRadii.ToString("E2"),
MassInSuns=planet.MassInSuns.ToString("E2"),
CenterOfGravityShift=planet.CenterOfGravityShift.ToString("n5")
}).Dump();
}
static Body Sun=new Body{Name="Sun",Distance=0,Mass=1.98855E30};
const double SunRadius=696342;
class Body
{
public string Name{get;set;}
public double Distance{get;set;}// in km
public double Mass{get;set;}// in kg
public double MassInSuns{get{return Mass/Sun.Mass;}}
public double DistanceInSunRadii{get{return Distance/SunRadius;}}
public double CenterOfGravityShift{get{return MassInSuns*DistanceInSunRadii;}}
}