First off, the concept of "the whole truth" is legally undefined. It cannot possibly mean "everything that you know that is connected to this question", since otherwise a witness would be required to drone on and on for hours. Second, there is no way to determine what percentage of witnesses are not "telling the whole truth". We can be fairly certain that when a guilty accused takes the stand, there is a good chance that he is not telling the whole truth, and the oath does not compel you to testify against yourself. Even if there was some clear legal definition of "the whole truth", there is typically no way to know what what the actual facts are, to know if a witness failed to say something that was part of "the whole truth".
The promise part of the oath is irrelevant, that is, the requirement is not to "keep your promise", it is to not perjure yourself. Every jurisdiction in the US has a statute which makes it a crime to commit perjury. At the federal level, the law is 18 USC 1621, which applies to anyone who has "taken an oath" promising to testify truly, and punishes the witness if he "willfully and contrary to such oath states or subscribes any material matter which he does not believe to be true".
The landmark ruling Bronston v. US, 409 US 352 clarified the obligation of witnesses vs. the duty of interrogators, when it comes to not providing information desired by the interrogator. The court ruled that the perjury statutes does not apply to a
witness's answer that is literally true, but unresponsive, even
assuming the witness intends to mislead his questioner by the answer,
and even assuming the answer is arguably "false by negative
implication." A perjury prosecution is not, in our adversary system,
the primary safeguard against errant testimony; given the incongruity
of an unresponsive answer, it is the questioner's burden to frame his
interrogation acutely to elicit the precise information he seeks.
This was a classical "not the whole truth" case. The exchange was as follows, where the accused aws testifying in bankruptcy proceedings:
Q. Do you have any bank accounts in Swiss banks, Mr. Bronston?
A. No, sir.
Q. Have you ever?
A. The company had an account there for about six months, in Zurich.
The fact is that Bronston used to have a personal account in a Swiss Bank, which he did not reveal. His answer could be considered misleading because he only answered part of the question, as it pertained to the company (but not him personally). The crux of the court's ruling is that it is the responsibility of the attorney conducting the interrogation to notice that he did not answer the question asked, and to insist on a response that also covers personal accounts. This established the "literal truth" doctrine for perjury conviction: if what you say is literally true, the testimony is not perjurous. As a later court (DeZarn) commented,
because a nonresponsive answer, by its nature, requires speculation by
the fact-finder as to what the answer “implies”, there cannot be a
finding beyond a reasonable doubt that the answer is untruthful.
Clinton successfully relied on this defense with respect to certain of his literally-true testimony.
One tweak on this is US v. DeZarn, 157 F3d 1042, where a literal-truth defense was set forth but rejected by the court. The accused was asked about a party that was allegedly a fundraising event. His testimony was that it wasn't a fundraising event for the governor (in fact it was), and his defense came down to the fact that the prosecutor asked about a party in 1991, had earlier referred to it as a "Preakness Party" (which the governor had held previously), and asked about fundraising "at that activity". DeZarn's claim was that he thought the prosecutor was asking about a party in 1990 (which was a "Preakness Party", with no fundraising). The prosecutor was in error in previously calling is a "Preakness Party", but was correct in identifying that there was a party (with fundraising) at the governor's house, in 1991 time.
The wording of DeZarn's testimony was, simply "I don't know... No... No": these are responses that have no literal truth value taken on their own, and can be judged only in relation to what question was asked (whereas Bronston's testimony was literally true on its own). DeZarn's conviction was upheld because could not have been confused about which party was being referred to, and what the actual question was; moreover, in saying just "No", he gave no sign that his response was a partial answer to the question.
The DeZarn court did not clarify matters, leaving it at the conclusion that
a perjury inquiry which focuses only upon the precision of the
question and ignores what the Defendant knew about the subject matter
of the question at the time it was asked, misses the very point of
perjury: that is, the Defendant's intent to testify falsely and,
thereby, mislead his interrogators.
This does not clearly distinguish DeZarn from Bronston, but that could be remedied by a more precise theory of the linguistic relationship between the question(s) asked and the literal answer – Bronston said enough that a reasonable person could detect that only part of the question was answered, whereas the testimony "No" gives no overt sign that the testifier had privately re-written the question to be something like "Was there fundraising at a Preakness Party in 1991", as opposed to "at that activity". The court relied on a subjective "sniff test" for distinguishing responsive from non-responsive testimony, so I would say that they simply did not draw the bright lines that could have been drawn (which would be based on better distinguishing "implies" versus "asserts").