"NAZIONALE" in questo caso significa caratteri specifici di nazionalità diverse. Soprattutto le lingue dell'Estremo Oriente hanno così tanti caratteri che un byte non è abbastanza spazio per distinguerli tutti. Quindi, se hai un'app solo in inglese (ascii) o un campo solo in inglese , puoi cavartela usando i vecchi tipi CHAR e VARCHAR, che consentono solo un byte per carattere.
Detto questo, la maggior parte delle volte dovresti usare NCHAR/NVARCHAR. Anche se ritieni di non dover supportare (o potenzialmente supportare) più lingue nei tuoi dati, anche le app solo in inglese devono essere in grado di gestire in modo ragionevole gli attacchi alla sicurezza utilizzando caratteri in lingua straniera.
A mio parere, l'unico posto in cui i vecchi tipi CHAR/VARCHAR sono ancora preferiti è per i codici interni solo ascii a cui si fa spesso riferimento e per i dati su piattaforme come Sql Server che supportano la distinzione:dati che sarebbero l'equivalente di un enum
in un linguaggio client come C++ o C#.