This argument on knives versus small revolvers is rather pointless. I have thwarted robbery attempts by the mere presence of a gun, in some cases I ended up using my fist to fight the guy off. I have carried one of the .22 rimfire mini revolvers and if threatened, pulled it out, never had to cock the hammer, the fact that there was something shiny made out of steel in my hand did the job.
People don't want to be shot, period. They will look for an easier victim. In the cases where I had to fight with my fist, they gave up and looked for someone else. I even dodged out into busy traffic on two occasions to keep robbers away from me, they did not want to be run over by a car and left.
Don't forget the televison footage of Hinckley going after President Reagan and company in Washington D.C. years ago. The attacker used a short barreled RG-14 in .22 LR rimfire, the supposed explosive bullets failed to detonate, and every person that received a bullet went down, everyone. A big hardened criminal with a bullet wound in his chest from a .22 rimfire out of a 1" barreled gun is still easier to give a knuckle sandwich to, or run from, yes run away from, than if he has not been shot.
A large, sword like knife would be effective, if you knew what you were doing with it, the age of gentlemen walking around with a rapier sword when it was fashionable in the period of the 1500-1600 hundreds A.D., is over. I was lucky that I only had 1-2 people attacking me, but often the robbers come in groups, I will take a gun, any gun, over a knife in that situation.