-1

When declaring a CHAR or VARCHAR2 variable, to ensure that it can always hold n characters in any multibyte character set, declare its length in characters—that is, CHAR(n CHAR) or VARCHAR2(n CHAR), where n does not exceed FLOOR(32767/4) = 8191.

much value value we get from FLOOR(8191)

raviteja
  • 1
  • 1
  • 2
    I'm not sure what you are asking... the first part is a statement, possibly of an over-restrictive practice; what does "much value value" mean? Are you just not sure about the difference between character and byte semantics? (And if you're quoting something it would be helpful to link to it for context.) – Alex Poole Aug 16 '14 at 20:58
  • 1
    If that is what you're asking, possible duplicate of [Difference between BYTE and CHAR in column datatypes](http://stackoverflow.com/q/81448/266304). – Alex Poole Aug 16 '14 at 21:02

1 Answers1

0

If you don't have to worry about multi-byte characters, then this is not a concern of yours. You'd also have to start using n* string manipulation functions. And so if I had a VARCHAR2(40) field, I could wind up with 6502 errors when inserting a 40 character multi-byte string. My 40 character string is no longer 40 bytes long but 160 bytes long.

Greg
  • 233
  • 2
  • 12