SSMS与SQL Server中混用SELECT AS与SELECT=修改列标题方法咨询
代码修改实现方案
- 你所用的SQL Server语法支持两种别名定义方式,混用两种写法修改指定列别名不会改变原有执行逻辑,所有查询条件、返回字段值、价格清零效果均和原代码完全一致。
- 因别名包含空格,需要用方括号
[]包裹别名避免语法报错,以下是修改后的完整代码,已经混用两种别名写法完成需求:
DECLARE @Today nvarchar(20) = CONCAT(SUBSTRING(CONVERT(nvarchar, GETDATE(), 101), 7, 4), '.', SUBSTRING(CONVERT(nvarchar, GETDATE(), 101), 1, 2), SUBSTRING(CONVERT(nvarchar, GETDATE(), 101), 4, 2)) SELECT --l.location_id im.item_id AS [Item ID] ,[Price 1] = 0000.0000 -- 采用「别名=表达式」写法 ,0000.0000 AS [Price 2] -- 采用「表达式AS别名」写法,已实现两种写法混用 ,[Price 3] = @Today ,im.price4 ,im.price5 ,price10 = @Today ,standard_cost = 0000.0000 ,list_price = 0000.0000 ,cost = 0000.0000 FROM p21_view_inv_mast im JOIN p21_view_inv_loc l ON l.inv_mast_uid = im.inv_mast_uid AND l.location_id = 1 JOIN p21_view_inventory_supplier s ON s.supplier_id = l.primary_supplier_id AND s.inv_mast_uid = im.inv_mast_uid WHERE l.primary_supplier_id = 100592 --Suplier ID, change per supplier AND im.delete_flag <> 'Y' AND ISNULL(l.delete_flag, 'N') <> 'Y'
内容的提问来源于stack exchange,提问作者Sabatino Ognibene
相关产品推荐
相关产品推荐

