octet_length operator: what encoding?
We have a number of varchar fields and I'm looking to see what the
greatest data length in any is, after UTF-8 encoding. The two-argument
length function appears (I think) to take a byte array, so it's the
opposite of what I'm looking for (give it a UTF-8 encoded string and
the second parameter 'UTF-8' and it'll count characters). The
octet_length function, though, doesn't accept an encoding argument.
What does it use?
ChrisA
Chris Angelico wrote:
We have a number of varchar fields and I'm looking to see what the
greatest data length in any is, after UTF-8 encoding. The two-argument
length function appears (I think) to take a byte array, so it's the
opposite of what I'm looking for (give it a UTF-8 encoded string and
the second parameter 'UTF-8' and it'll count characters). The
octet_length function, though, doesn't accept an encoding argument.
What does it use?
You probably want something like that:
test=> SELECT length(convert_to('schön', 'UTF8'));
length
--------
6
(1 row)
Yours,
Laurenz Albe