Use cast function in dynamic sql : CAST « Data Convert Functions « SQL Server / T-SQL Tutorial






2>
3> CREATE TABLE Orders (
4>      OrderID int IDENTITY (1, 1) NOT NULL ,
5>      CustomerID nchar (5) NULL ,
6>      EmployeeID int NULL ,
7>      OrderDate datetime NULL ,
8>      RequiredDate datetime NULL ,
9>      ShippedDate datetime NULL ,
10>     ShipVia int NULL ,
11>     Freight money NULL DEFAULT (0),
12>     ShipName nvarchar (40) NULL ,
13>     ShipAddress nvarchar (60) NULL ,
14>     ShipCity nvarchar (15) NULL ,
15>     ShipRegion nvarchar (15) NULL ,
16>     ShipPostalCode nvarchar (10) NULL ,
17>     ShipCountry nvarchar (15) NULL
18> )
19> GO
1>
2> DECLARE @i AS INT;
3> SET @i = 10248;
4>
5> DECLARE @sql AS VARCHAR(52);
6> SET @sql = 'SELECT * FROM dbo.Orders WHERE OrderID = '
7>   + CAST(@i AS VARCHAR(10)) + N';';
8> EXEC(@sql);
9>
10> GO
OrderID     CustomerID EmployeeID  OrderDate               RequiredDate            ShippedDate             ShipVia     Freight               ShipName                                 ShipAddress
                                           ShipCity        ShipRegion      ShipPostalCode ShipCountry
----------- ---------- ----------- ----------------------- ----------------------- ----------------------- ----------- --------------------- ---------------------------------------- ------------------
------------------------------------------ --------------- --------------- -------------- ---------------
1>
2> drop table orders;
3> GO








13.1.CAST
13.1.1.The syntax of the CAST function: CAST(expression AS data_type)
13.1.2.select CAST('2002-09-30 11:35:00' AS smalldatetime) + 1
13.1.3.select CAST('2002-09-30 11:35:00' AS smalldatetime) - 1 (Minus)
13.1.4.select CAST(CAST('2002-09-30' AS datetime) - CAST('2001-12-01' AS datetime) AS int)
13.1.5.Data type conversion can be performed using the CAST() and CONVERT() functions.
13.1.6.SELECT CAST('123.4' AS Decimal)
13.1.7.Use cast function in dynamic sql