New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add build in function BIN_BIT, BIN_BIT_STR, BIN_TO_STR and BIN_TO_STR_LIST [CORE4029] #4359
Comments
Commented by: @livius2 one result mistake was '01' should be '11' |
Modified by: @livius2description: I know that we can write udf(and we have it) - but binary operations are common and will be good to see this functions supported by engine itself 1. BIN_BIT(VALUE: INTEGER; BIT_NR: INTEGER) SELECT BIN_TO_STR(19, 0) FROM RDB$DATABASE ######################################################### 2. BIN_BIT_STR(VALUE: INTEGER; BIT_NR: INTEGER; BIT_SET_VALUE: PCHAR; BIT_NOT_SET_VALUE: PCHAR) SELECT BIN_TO_STR(19, 0, 'YES', 'NO') FROM RDB$DATABASE ######################################################### 3. BIN_TO_STR(VALUE: Integer; BIT_COUNT: Integer) SELECT BIN_TO_STR(19, 2) FROM RDB$DATABASE ######################################################### 4. BIN_TO_STR_LIST(VALUE: Integer; BIT_COUNT: Integer; BIT_VALUE_LIST: PCHAR; OUT_LIST_SEPARATOR: PCHAR) SELECT BIN_TO_STR_LIST(19, 2, 'DELIVERED;RECIVED;CHECKED;POSTED;CREATED', ', ') FROM RDB$DATABASE and sample with already implemented LIST function SELECT BIN_TO_STR_LIST(19, 2, (SELECT LIST(VALUE, ';') FROM SOME_TABLE), ', ') FROM RDB$DATABASE => I know that we can write udf(and we have it) - but binary operations are common and will be good to see this functions supported by engine itself 1. BIN_BIT(VALUE: INTEGER; BIT_NR: INTEGER) SELECT BIN_TO_STR(19, 0) FROM RDB$DATABASE ######################################################### 2. BIN_BIT_STR(VALUE: INTEGER; BIT_NR: INTEGER; BIT_SET_VALUE: PCHAR; BIT_NOT_SET_VALUE: PCHAR) SELECT BIN_TO_STR(19, 0, 'YES', 'NO') FROM RDB$DATABASE ######################################################### 3. BIN_TO_STR(VALUE: Integer; BIT_COUNT: Integer) SELECT BIN_TO_STR(19, 2) FROM RDB$DATABASE ######################################################### 4. BIN_TO_STR_LIST(VALUE: Integer; BIT_COUNT: Integer; BIT_VALUE_LIST: PCHAR; OUT_LIST_SEPARATOR: PCHAR) SELECT BIN_TO_STR_LIST(19, 2, 'DELIVERED;RECIVED;CHECKED;POSTED;CREATED', ', ') FROM RDB$DATABASE and sample with already implemented LIST function SELECT BIN_TO_STR_LIST(19, 2, (SELECT LIST(VALUE, ';') FROM SOME_TABLE), ', ') FROM RDB$DATABASE |
Submitted by: @livius2
I know that we can write udf(and we have it) - but binary operations are common and will be good to see this functions supported by engine itself
1. BIN_BIT(VALUE: INTEGER; BIT_NR: INTEGER)
SELECT BIN_TO_STR(19, 0) FROM RDB$DATABASE
result
1
SELECT BIN_TO_STR(19, 2) FROM RDB$DATABASE
result
0
#########################################################
2. BIN_BIT_STR(VALUE: INTEGER; BIT_NR: INTEGER; BIT_SET_VALUE: PCHAR; BIT_NOT_SET_VALUE: PCHAR)
SELECT BIN_TO_STR(19, 0, 'YES', 'NO') FROM RDB$DATABASE
result
'YES'
SELECT BIN_TO_STR(19, 2, 'YES', 'NO') FROM RDB$DATABASE
result
'NO'
#########################################################
3. BIN_TO_STR(VALUE: Integer; BIT_COUNT: Integer)
SELECT BIN_TO_STR(19, 2) FROM RDB$DATABASE
result
'11'
SELECT BIN_TO_STR(19, 5) FROM RDB$DATABASE
'10011'
#########################################################
4. BIN_TO_STR_LIST(VALUE: Integer; BIT_COUNT: Integer; BIT_VALUE_LIST: PCHAR; OUT_LIST_SEPARATOR: PCHAR)
SELECT BIN_TO_STR_LIST(19, 2, 'DELIVERED;RECIVED;CHECKED;POSTED;CREATED', ', ') FROM RDB$DATABASE
result
'DELIVERED'
SELECT BIN_TO_STR_LIST(19, 5, 'DELIVERED;RECIVED;CHECKED;POSTED;CREATED', ', ') FROM RDB$DATABASE
'DELIVERED, RECIVED, CREATED'
and sample with already implemented LIST function
SELECT BIN_TO_STR_LIST(19, 2, (SELECT LIST(VALUE, ';') FROM SOME_TABLE), ', ') FROM RDB$DATABASE
The text was updated successfully, but these errors were encountered: