Other CURRENT_TIMESTAMP SQL function


1. Usage of CURRENT_TIMESTAMP to show Order Processing Time

SQL Server Query 1

            
 WITH OrderProcessed AS (  
SELECT OrderID,
DATEADD(HOUR, 2, OrderDate) AS OrderProcessedDate
FROM Orders
WHERE OrderID IN (10248, 10249, 10250, 10251)
)
SELECT
o.OrderID,
o.OrderDate,
op.OrderProcessedDate,
CASE
WHEN op.OrderProcessedDate IS NULL THEN 'Not Processed Yet'
ELSE CONCAT(DATEDIFF(MINUTE, OrderDate, op.OrderProcessedDate), ' Minutes')
END AS ProcessingTime,
CURRENT_TIMESTAMP AS QueryRunTime -- Get current time
FROM Orders o
LEFT JOIN OrderProcessed op ON op.OrderID = o.OrderID
WHERE o.OrderID IN (10248, 10249, 10250, 10251, 10252, 10253, 10254, 10255);

Create SQL query with SqlQueryBuilder 1

            
 var (sql1, parameters1) = new SqlQueryBuilder()  
.WithCTETable(new Table("OrderProcessed"), new SqlQueryBuilder()
.Select().Column("OrderID", "OrderID")
.Column(new DATEADD(SqlDateInterval.hour, 2, new Column("OrderDate")), "OrderProcessedDate")
.From("Orders")
.Where(new Where(new IN(new Column("OrderID"), 10248, 10249, 10250, 10251)))
)
.Select().Columns("o.OrderID", "o.OrderDate", "op.OrderProcessedDate")
.Column(new CASE()
.When(new IS_NULL(new Column("op.OrderProcessedDate")))
.Then("Not Processed Yet")
.Else(new CONCAT(new DATEDIFF(SqlDateInterval.minute, new Column("OrderDate"), new Column("op.OrderProcessedDate")), "Minutes"))
, "ProcessingTime")
.Column(new CURRENT_TIMESTAMP(), "QueryRunTime")
.From("Orders", "o")
.Join(new List<IJoin>()
{
new LEFTJOIN().TableName(new Table("OrderProcessed","op"))
.On(new Column("op.OrderID").Equale(new Column("o.OrderID")))
})
.Where(new Where(new IN(new Column("o.OrderID"), 10248, 10249, 10250, 10251, 10252, 10253, 10254, 10255)))
.Build();

Query build by SqlQueryBuilder 1

            
WITH OrderProcessed
AS (SELECT OrderID AS OrderID,
           DATEADD(hour, @pMAIN_2507192044348432880, OrderDate) AS OrderProcessedDate
    FROM Orders
    WHERE OrderID IN (@pMAIN_2507192044348432881, @pMAIN_2507192044348432882, @pMAIN_2507192044348432883, @pMAIN_2507192044348432884))
SELECT o.OrderID,
       o.OrderDate,
       op.OrderProcessedDate,
       CASE WHEN op.OrderProcessedDate IS NULL THEN @pMAIN_2507192044348432885 ELSE CONCAT(DATEDIFF(minute, OrderDate, op.OrderProcessedDate), @pMAIN_2507192044348432886) END AS ProcessingTime,
       CURRENT_TIMESTAMP AS QueryRunTime
FROM Orders AS o
     LEFT OUTER JOIN
     OrderProcessed AS op
     ON op.OrderID = o.OrderID
WHERE o.OrderID IN (@pMAIN_2507192044348432887, @pMAIN_2507192044348432888, @pMAIN_2507192044348432889, @pMAIN_250719204434843288_10, @pMAIN_250719204434843288_11, @pMAIN_250719204434843288_12, @pMAIN_250719204434843288_13, @pMAIN_250719204434843288_14);


            
        

Parameters (If used)

Name Value
@pMAIN_2507192044348432880 2
@pMAIN_2507192044348432881 10248
@pMAIN_2507192044348432882 10249
@pMAIN_2507192044348432883 10250
@pMAIN_2507192044348432884 10251
@pMAIN_2507192044348432885 Not Processed Yet
@pMAIN_2507192044348432886 Minutes
@pMAIN_2507192044348432887 10248
@pMAIN_2507192044348432888 10249
@pMAIN_2507192044348432889 10250
@pMAIN_250719204434843288_10 10251
@pMAIN_250719204434843288_11 10252
@pMAIN_250719204434843288_12 10253
@pMAIN_250719204434843288_13 10254
@pMAIN_250719204434843288_14 10255

Query Results 1:

  OrderID OrderDate OrderProcessedDate ProcessingTime QueryRunTime
1 10248 7/4/1996 12:00:00 AM 7/4/1996 2:00:00 AM 120Minutes 7/19/2025 8:44:34 PM
2 10249 7/5/1996 12:00:00 AM 7/5/1996 2:00:00 AM 120Minutes 7/19/2025 8:44:34 PM
3 10250 7/8/1996 12:00:00 AM 7/8/1996 2:00:00 AM 120Minutes 7/19/2025 8:44:34 PM
4 10251 7/8/1996 12:00:00 AM 7/8/1996 2:00:00 AM 120Minutes 7/19/2025 8:44:34 PM
5 10252 7/9/1996 12:00:00 AM Not Processed Yet 7/19/2025 8:44:34 PM
6 10253 7/10/1996 12:00:00 AM Not Processed Yet 7/19/2025 8:44:34 PM
7 10254 7/11/1996 12:00:00 AM Not Processed Yet 7/19/2025 8:44:34 PM
8 10255 7/12/1996 12:00:00 AM Not Processed Yet 7/19/2025 8:44:34 PM