edgar2020 commented on code in PR #16805: URL: https://github.com/apache/druid/pull/16805#discussion_r1693456525
########## docs/querying/sql-functions.md: ########## @@ -336,68 +336,189 @@ Performs a bitwise XOR operation on all input values. ## BITWISE_AND -`BITWISE_AND(expr1, expr2)` +Returns the bitwise AND between two expressions, that is, `expr1 & expr2`. -**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions) +* **Syntax:** `BITWISE_AND(expr1, expr2)` +* **Function type:** Scalar, numeric + +<details><summary>Example</summary> + +The following example performs the bitwise AND operation `12 & 10`. + +```sql +SELECT BITWISE_AND(12, 10) AS "bitwise_and" +``` +Returns the following: -Returns the bitwise AND between the two expressions, that is, `expr1 & expr2`. +| `bitwise_and` | +| -- | +| 8 | +</details> + +[Learn more](sql-scalar.md#numeric-functions) ## BITWISE_COMPLEMENT -`BITWISE_COMPLEMENT(expr)` +Returns the bitwise complement (bitwise not) for the expression, that is, `~expr`. -**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions) +* **Syntax:** `BITWISE_COMPLEMENT(expr)` +* **Function type:** Scalar, numeric + +<details><summary>Example</summary> + +The following example performs the bitwise complement operation `~12`. + +```sql +SELECT BITWISE_COMPLEMENT(12) AS "bitwise_complement" +``` +Returns the following: -Returns the bitwise NOT for the expression, that is, `~expr`. +| `bitwise_complement` | +| -- | +| -13 | +</details> + +[Learn more](sql-scalar.md#numeric-functions) ## BITWISE_CONVERT_DOUBLE_TO_LONG_BITS -`BITWISE_CONVERT_DOUBLE_TO_LONG_BITS(expr)` +Converts the bits of an IEEE 754 floating-point double value to long. -**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions) +* **Syntax:**`BITWISE_CONVERT_DOUBLE_TO_LONG_BITS(expr)` +* **Function type:** Scalar, numeric + +<details><summary>Example</summary> + +The following example returns the IEEE 754 floating-point double representation of `255` as a long. + +```sql +SELECT BITWISE_CONVERT_DOUBLE_TO_LONG_BITS(255) AS "ieee_754_double_to_long" +``` +Returns the following: + +| `ieee_754_double_to_long` | +| -- | +| `4643176031446892544` | +</details> + +[Learn more](sql-scalar.md#numeric-functions) -Converts the bits of an IEEE 754 floating-point double value to a long. ## BITWISE_CONVERT_LONG_BITS_TO_DOUBLE -`BITWISE_CONVERT_LONG_BITS_TO_DOUBLE(expr)` +Converts the bits of a long value to IEEE 754 floating-point double. -**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions) +* **Syntax:**`BITWISE_CONVERT_LONG_BITS_TO_DOUBLE(expr)` +* **Function type:** Scalar, numeric -Converts a long to the IEEE 754 floating-point double specified by the bits stored in the long. +<details><summary>Example</summary> -## BITWISE_OR +The following example returns the long representation of `4643176031446892544` as an IEEE 754 floating-point double. -`BITWISE_OR(expr1, expr2)` +```sql +SELECT BITWISE_CONVERT_LONG_BITS_TO_DOUBLE(4643176031446892544) AS "long_to_ieee_754_double" +``` +Returns the following: -**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions) +| `long_to_ieee_754_double` | +| -- | +| `255` | +</details> + +[Learn more](sql-scalar.md#numeric-functions) + +## BITWISE_OR Returns the bitwise OR between the two expressions, that is, `expr1 | expr2`. +* **Syntax:** `BITWISE_OR(expr1, expr2)` +* **Function type:** Scalar, numeric + +<details><summary>Example</summary> + +The following example performs the bitwise OR operation `12 | 10`. + +```sql +SELECT BITWISE_OR(12, 10) AS "bitwise_or" +``` +Returns the following: + +| `bitwise_or` | +| -- | +| `14` | +</details> + +[Learn more](sql-scalar.md#numeric-functions) + ## BITWISE_SHIFT_LEFT -`BITWISE_SHIFT_LEFT(expr1, expr2)` +Returns the bitwise left shift by x positions of an expr, that is, `expr << x`. -**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions) +* **Syntax:** `BITWISE_SHIFT_LEFT(expr, x)` +* **Function type:** Scalar, numeric + +<details><summary>Example</summary> + +The following example performs the bitwise SHIFT operation `2 << 3`. Review Comment: BITWISE_SHIFT_LEFT and BITWISE_SHIFT_RIGHT did not mention what the second parameter did, so I tried to include that in the definition, not sure how the working of the definition can be further improved. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
