dtenedor commented on code in PR #36950:
URL: https://github.com/apache/spark/pull/36950#discussion_r908766310


##########
docs/sql-ref-number-pattern.md:
##########
@@ -19,4 +19,165 @@ license: |
   limitations under the License.
 ---
 
-TODO: Add the content of Number Patterns for Formatting and Parsing
+### Description
+
+Functions such as `to_number` and `to_char` support converting between values 
of string and
+Decimal type. Such functions accept format strings indicating how to map 
between these types.
+
+### Syntax
+
+Number format strings support the following syntax:
+
+```
+  { ' [ S ] [ $ ] 
+      [ 0 | 9 | G | , ] [...] 
+      [ . | D ] 
+      [ 0 | 9 ] [...] 
+      [ $ ] [ PR | MI | S ] ' }
+```
+
+### Elements
+
+Each number format string can contain the following elements (case 
insensitive):
+
+- **`0`** or **`9`**
+
+  Specifies an expected digit between `0` and `9`.
+
+  A sequence of 0 or 9 in the format string matches a sequence of digits with 
the same or smaller
+  size. If the 0/9 sequence starts with 0 and is before the decimal point, it 
requires matching the
+  number of digits: when parsing, it matches only a digit sequence of the same 
size; when
+  formatting, the result string adds left-padding with zeros to the digit 
sequence to reach the
+  same size. Otherwise, the 0/9 sequence matches any digit sequence with the 
same or smaller size
+  when parsing, and pads the digit sequence with spaces in the result string 
when formatting. Note
+  that the digit sequence will become a '#' sequence if the size is larger 
than the 0/9 sequence.
+
+- **`.`** or **`D`**
+
+  Specifies the position of the decimal point.
+
+  The input value does not need to include a decimal point.
+
+- **`,`** or **`G`**
+
+  Specifies the position of the `,` grouping (thousands) separator.
+
+  There must be a `0` or `9` to the left and right of each grouping separator. 
+
+- **`$`**
+
+  Specifies the location of the `$` currency sign. This character may only be 
specified once.
+
+- **`S`** 
+
+  Specifies the position of an optional '+' or '-' sign. This character may 
only be specified once.
+
+- **`MI`**
+
+  Specifies an optional `-` sign at the end, but no `+`.

Review Comment:
   Good catch -- we ended up allowing `MI` at the beginning as well during 
conversations while building the feature. I updated these docs accordingly.



-- 
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]

Reply via email to