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_2507200156436680170, OrderDate) AS OrderProcessedDate
FROM Orders
WHERE OrderID IN (@pMAIN_2507200156436680171, @pMAIN_2507200156436680172, @pMAIN_2507200156436680173, @pMAIN_2507200156436680174))
SELECT o.OrderID,
o.OrderDate,
op.OrderProcessedDate,
CASE WHEN op.OrderProcessedDate IS NULL THEN @pMAIN_2507200156436680175 ELSE CONCAT(DATEDIFF(minute, OrderDate, op.OrderProcessedDate), @pMAIN_2507200156436680176) 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_2507200156436680177, @pMAIN_2507200156436680178, @pMAIN_2507200156436680179, @pMAIN_250720015643668017_10, @pMAIN_250720015643668017_11, @pMAIN_250720015643668017_12, @pMAIN_250720015643668017_13, @pMAIN_250720015643668017_14);
Parameters (If used)
Name |
Value |
@pMAIN_2507200156436680170 |
2 |
@pMAIN_2507200156436680171 |
10248 |
@pMAIN_2507200156436680172 |
10249 |
@pMAIN_2507200156436680173 |
10250 |
@pMAIN_2507200156436680174 |
10251 |
@pMAIN_2507200156436680175 |
Not Processed Yet |
@pMAIN_2507200156436680176 |
Minutes |
@pMAIN_2507200156436680177 |
10248 |
@pMAIN_2507200156436680178 |
10249 |
@pMAIN_2507200156436680179 |
10250 |
@pMAIN_250720015643668017_10 |
10251 |
@pMAIN_250720015643668017_11 |
10252 |
@pMAIN_250720015643668017_12 |
10253 |
@pMAIN_250720015643668017_13 |
10254 |
@pMAIN_250720015643668017_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/20/2025 1:56:43 AM
|
2 |
10249
|
7/5/1996 12:00:00 AM
|
7/5/1996 2:00:00 AM
|
120Minutes
|
7/20/2025 1:56:43 AM
|
3 |
10250
|
7/8/1996 12:00:00 AM
|
7/8/1996 2:00:00 AM
|
120Minutes
|
7/20/2025 1:56:43 AM
|
4 |
10251
|
7/8/1996 12:00:00 AM
|
7/8/1996 2:00:00 AM
|
120Minutes
|
7/20/2025 1:56:43 AM
|
5 |
10252
|
7/9/1996 12:00:00 AM
|
|
Not Processed Yet
|
7/20/2025 1:56:43 AM
|
6 |
10253
|
7/10/1996 12:00:00 AM
|
|
Not Processed Yet
|
7/20/2025 1:56:43 AM
|
7 |
10254
|
7/11/1996 12:00:00 AM
|
|
Not Processed Yet
|
7/20/2025 1:56:43 AM
|
8 |
10255
|
7/12/1996 12:00:00 AM
|
|
Not Processed Yet
|
7/20/2025 1:56:43 AM
|