PARSE SQL function


1. Various usage of PARSE.

SQL Server Query 1

            
SELECT PARSE('09/05/2025' AS DATE USING 'fr-FR') AS ParsedFrenchDate,  
PARSE('1234,56' AS DECIMAL(10, 2) USING 'fr-FR') AS ParsedFrenchNumber,
PARSE('1.234,56 €' AS MONEY USING 'de-DE') AS ParsedGermanMoney,
PARSE('1,234,567' AS BIGINT USING 'en-US') AS ParsedNumberWithSeparator,
PARSE('THURSDAY, 23 february 2023' AS datetime2 USING 'zh-CN') AS ZHCNResult,
PARSE('02/23/2023' AS DATETIME) AS DateTimeResult,
PARSE('123.000' AS INT) AS IntResult,
PARSE('56789' AS DECIMAL(8, 2)) AS DecimalResult,
PARSE('56789' AS MONEY) AS MoneyResult,
PARSE('30,000' AS decimal(8,2) USING 'en-US') AS InEnglish,
PARSE('30,000' AS decimal(8,2) USING 'fr-FR') AS InFrench;

Create SQL query with SqlQueryBuilder 1

            
var (sql1, parameters1) = new SqlQueryBuilder()  
.Select()
.Column(new PARSE("09/05/2025", SqlDataType.DATE, "fr-FR"),"ParsedFrenchDate")
.Column(new PARSE("1234,56", SqlDataType.DECIMAL, Tuple.Create(10, 2), "fr-FR"), "ParsedFrenchNumber")
.Column(new PARSE("1.234,56 €", SqlDataType.MONEY, "de-DE"), "ParsedGermanMoney")
.Column(new PARSE("1,234,567", SqlDataType.BIGINT, "en-US"), "ParsedNumberWithSeparator")
.Column(new PARSE("THURSDAY, 23 february 2023", SqlDataType.DATETIME2, "zh-CN"), "ZHCNResult")
.Column(new PARSE("02/23/2023", SqlDataType.DATETIME), "DateTimeResult")
.Column(new PARSE("123.000", SqlDataType.INT), "IntResult")
.Column(new PARSE("56789", SqlDataType.DECIMAL, Tuple.Create(8,2)),"DecimalResult")
.Column(new PARSE("56789", SqlDataType.MONEY), "MoneyResult")
.Column(new PARSE("30,000", SqlDataType.DECIMAL, Tuple.Create(8, 2), "en-US"), "InEnglish")
.Column(new PARSE("30,000", SqlDataType.DECIMAL, Tuple.Create(8, 2), "fr-FR"), "InFrench")
.Build();

Query build by SqlQueryBuilder 1

            
SELECT PARSE (@pMAIN_2507192027001775730 AS DATE USING @pMAIN_2507192027001775731) AS ParsedFrenchDate,
       PARSE (@pMAIN_2507192027001775732 AS DECIMAL (10, 2) USING @pMAIN_2507192027001775733) AS ParsedFrenchNumber,
       PARSE (@pMAIN_2507192027001775734 AS MONEY USING @pMAIN_2507192027001775735) AS ParsedGermanMoney,
       PARSE (@pMAIN_2507192027001775736 AS BIGINT USING @pMAIN_2507192027001775737) AS ParsedNumberWithSeparator,
       PARSE (@pMAIN_2507192027001775738 AS DATETIME2 USING @pMAIN_2507192027001775739) AS ZHCNResult,
       PARSE (@pMAIN_250719202700177573_10 AS DATETIME) AS DateTimeResult,
       PARSE (@pMAIN_250719202700177573_11 AS INT) AS IntResult,
       PARSE (@pMAIN_250719202700177573_12 AS DECIMAL (8, 2)) AS DecimalResult,
       PARSE (@pMAIN_250719202700177573_13 AS MONEY) AS MoneyResult,
       PARSE (@pMAIN_250719202700177573_14 AS DECIMAL (8, 2) USING @pMAIN_250719202700177573_15) AS InEnglish,
       PARSE (@pMAIN_250719202700177573_16 AS DECIMAL (8, 2) USING @pMAIN_250719202700177573_17) AS inFrench;


            
        

Parameters (If used)

Name Value
@pMAIN_2507192027001775730 09/05/2025
@pMAIN_2507192027001775731 fr-FR
@pMAIN_2507192027001775732 1234,56
@pMAIN_2507192027001775733 fr-FR
@pMAIN_2507192027001775734 1.234,56 €
@pMAIN_2507192027001775735 de-DE
@pMAIN_2507192027001775736 1,234,567
@pMAIN_2507192027001775737 en-US
@pMAIN_2507192027001775738 THURSDAY, 23 february 2023
@pMAIN_2507192027001775739 zh-CN
@pMAIN_250719202700177573_10 02/23/2023
@pMAIN_250719202700177573_11 123.000
@pMAIN_250719202700177573_12 56789
@pMAIN_250719202700177573_13 56789
@pMAIN_250719202700177573_14 30,000
@pMAIN_250719202700177573_15 en-US
@pMAIN_250719202700177573_16 30,000
@pMAIN_250719202700177573_17 fr-FR

Query Results 1:

  ParsedFrenchDate ParsedFrenchNumber ParsedGermanMoney ParsedNumberWithSeparator ZHCNResult DateTimeResult IntResult DecimalResult MoneyResult InEnglish InFrench
1 5/9/2025 12:00:00 AM 1234.56 1234.5600 1234567 2/23/2023 12:00:00 AM 2/23/2023 12:00:00 AM 123 56789.00 56789.0000 30000.00 30.00