Saturday, 2 November 2024

Convert operator in SQL server Execution plan

The Convert operator in an execution plan appears when SQL Server needs to convert data from one data type to another during query execution. This conversion can be implicit or explicit.

For the demo we are creating table and inserting some records.

CREATE TABLE Orders (

    OrderID INT PRIMARY KEY,

    OrderAmount VARCHAR(50), 

    CustomerID INT

);

INSERT INTO Orders (OrderID, OrderAmount, CustomerID)

VALUES

    (1, '100', 101),

    (2, '250.50', 102),

    (3, '150', 103);

See in the table OrderAmount we have taken as varchar, it must be decimal but for demo we have taken as varchar.

Now run the below script.

SELECT orderid,
       
Cast(orderamount AS DECIMAL(10, 2)) AS OrderAmountDecimal
FROM   orders
WHERE  Cast(orderamount AS DECIMAL(10, 2)) > 100; 

Run and see the execution plan.

See here we are not able to see the convert operator.

The Convert operator in SQL Server’s execution plan is used for both implicit and explicit data type conversions.

Implicit conversions occur automatically and may impact performance, especially with indexed columns.

No comments:

Post a Comment

If you have any doubt, please let me know.

Popular Posts