varchar(20)は20文字でしょうか、20バイトでしょうか?

MySQLのvarcharで指定している数値は「文字数」です。
2020年4月17日
ユーザー

「name には 20 バイトまでの可変長文字列」とvarchar(20)を設定していますが、バイト数と文字数の関係が混乱してわからなくなりました。

varchar(20)というのは20文字ということでしょうか?20バイトということでしょうか?

全角文字は2バイトと認識していましたが、試しに半角英数字と全角日本語で20文字、21文字それぞれ入力したところどちらも20文字では問題なく、21文字はwarningが出て20文字になってしまいました。
これは半角も全角もどちらも1バイトということなのでしょうか?

調べていると日本語は3バイトや4バイトという記述もあり、混乱しています。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?