BIT_LENGTH()
<< Internal functions | FB 2.0 Language Reference | CAST() >>
BIT_LENGTH()
Added in: 2.0
Description
Gives the length in bits of the input string. For multi-byte character sets, this may be less than the number of characters times 8 times the "formal" number of bytes per character as found in RDB$CHARACTER_SETS.
Note: With arguments of type CHAR, this function takes the entire formal string length (e.g. the declared length of a field or variable) into account. If you want to obtain the "logical" bit length, not counting the trailing spaces, right-TRIM the argument before passing it to BIT_LENGTH.
Result type: INTEGER
Syntax
BIT_LENGTH (str)
Examples
select bit_length('Hello!') from rdb$database
-- returns 48
select bit_length(_iso8859_1 'Grüß di!') from rdb$database
-- returns 64: ü and ß take up one byte each in ISO8859_1
select bit_length
(cast (_iso8859_1 'Grüß di!' as varchar(24) character set utf8))
from rdb$database
-- returns 80: ü and ß take up two bytes each in UTF8
select bit_length
(cast (_iso8859_1 'Grüß di!' as char(24) character set utf8))
from rdb$database
-- returns 208: all 24 CHAR positions count, and two of them are 16-bit
See also:
OCTET_LENGTH()
CHARACTER_LENGTH()
Firebird Null Guide: Internal functions and directives
back to top of page
<< Internal functions | FB 2.0 Language Reference | CAST() >>







