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_2602032113083154680, OrderDate) AS OrderProcessedDate
FROM Orders
WHERE OrderID IN (@pMAIN_2602032113083154681, @pMAIN_2602032113083154682, @pMAIN_2602032113083154683, @pMAIN_2602032113083154684))
SELECT o.OrderID,
o.OrderDate,
op.OrderProcessedDate,
CASE WHEN op.OrderProcessedDate IS NULL THEN @pMAIN_2602032113083154685 ELSE CONCAT(DATEDIFF(minute, OrderDate, op.OrderProcessedDate), @pMAIN_2602032113083154686) 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_2602032113083154687, @pMAIN_2602032113083154688, @pMAIN_2602032113083154689, @pMAIN_260203211308315468_10, @pMAIN_260203211308315468_11, @pMAIN_260203211308315468_12, @pMAIN_260203211308315468_13, @pMAIN_260203211308315468_14);
Parameters (If used)
| Name |
Value |
| @pMAIN_2602032113083154680 |
2 |
| @pMAIN_2602032113083154681 |
10248 |
| @pMAIN_2602032113083154682 |
10249 |
| @pMAIN_2602032113083154683 |
10250 |
| @pMAIN_2602032113083154684 |
10251 |
| @pMAIN_2602032113083154685 |
Not Processed Yet |
| @pMAIN_2602032113083154686 |
Minutes |
| @pMAIN_2602032113083154687 |
10248 |
| @pMAIN_2602032113083154688 |
10249 |
| @pMAIN_2602032113083154689 |
10250 |
| @pMAIN_260203211308315468_10 |
10251 |
| @pMAIN_260203211308315468_11 |
10252 |
| @pMAIN_260203211308315468_12 |
10253 |
| @pMAIN_260203211308315468_13 |
10254 |
| @pMAIN_260203211308315468_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
|
2/3/2026 9:13:08 PM
|
| 2 |
10249
|
7/5/1996 12:00:00 AM
|
7/5/1996 2:00:00 AM
|
120Minutes
|
2/3/2026 9:13:08 PM
|
| 3 |
10250
|
7/8/1996 12:00:00 AM
|
7/8/1996 2:00:00 AM
|
120Minutes
|
2/3/2026 9:13:08 PM
|
| 4 |
10251
|
7/8/1996 12:00:00 AM
|
7/8/1996 2:00:00 AM
|
120Minutes
|
2/3/2026 9:13:08 PM
|
| 5 |
10252
|
7/9/1996 12:00:00 AM
|
|
Not Processed Yet
|
2/3/2026 9:13:08 PM
|
| 6 |
10253
|
7/10/1996 12:00:00 AM
|
|
Not Processed Yet
|
2/3/2026 9:13:08 PM
|
| 7 |
10254
|
7/11/1996 12:00:00 AM
|
|
Not Processed Yet
|
2/3/2026 9:13:08 PM
|
| 8 |
10255
|
7/12/1996 12:00:00 AM
|
|
Not Processed Yet
|
2/3/2026 9:13:08 PM
|