I think "How long have you been working?" and "How long you have been working?" are both questions, so, could you tell me what is the difference between them?
How long have you been working?
*How long you have been working?
The former is grammatical; it's a direct or normal question.
The latter has not been formed properly. If you omit the question mark, you can form an indirect question in indirect (reported) speech as follows:
He asked me how long I had been working.
To be more polite and formal, you can also form an indirect question in the following way:
Could you tell me how long you have been working?
They are not both questions.
"Have you" is part of a question:
Have you been working? How long?
"You have" is part of a statement:
You have been working. I know how long.
In a question without a question-word with "be," the subject and verb order change position to indicate that it is a question.
So, "How long you have been working?" is an error. A correct statement using that word order: "I'm amazed by how long you have been working!"
I don't think either of the existing answers have covered this case. But the second form, you have could be used to express surprise at how long someone has been working.
A commonly told childrens story, Red Riding Hood, is usually told with some variation of this refrain:
My, what big ears you have!
What big eyes you have!
What big teeth you have!
It's a little archaic, now, and rarely used in common language, but this may be the intention of your initial sentence.
I just thought I'd try to help, because that's the kind of guy I am. ;)