I've been having a headache since I woke up.
I've had a headache since I woke up.
English Grammar in Use suggests the latter. But what should I do if I want to emphasize the painful feeling rather than just the state?
English Language Learners Stack Exchange is a question and answer site for speakers of other languages learning English. It only takes a minute to sign up.Sign up to join this community
Either construction is fine. You can say, for example,
I've had this bad headache since I woke up.
(Or nasty, or painful, or whatever other adjective you like.)
"Have been having" emphasizes more the headache as you're currently experiencing it; "have had" emphasizes more how long it's been going on for. However, these implications are fairly subtle.
Don't use the verb 'have' in a progressive form to say that someone has an illness or disease (The Free Dictionary). So the correct sentence is:
I have had a headache since I woke up.
If you want to emphasize your headache, you can say:
I have had really a headache.....
I have had a splitting/bad/nasty headache.
You indeed cannot use have been having to mean have had. That's because have been having has a key aspect that's lacking in the other: that of habitual action.
I’ve been having headaches in the mornings ever since I was in that car accident last autumn.
I’ve been having someone look in on the children during the day while I’m at work.
He’s been having his teeth whitened.
But more recently, though, Annie had been having a relationship with Edward Stanely, a bricklayer's mate. (From Jack the Ripper: A Killer Slops Not by Kevin Carmichael)
In answer to the question of how to emphasize the painful feeling, you do that by suitably qualifying headache:
I’ve had a terrible headache since I woke up this morning.
”Right now I have a God awful headache. Could you bring me a couple of aspirins and a strong cup of coffee?” he asked. (From Kiss the Fly Goodbye by Jo Anne Bunyak)
Sometimes it’s spelled a godawful headache.