填充0以返回查询并插入到临时表中
我要做的是从Navigator数据库表中获取用户订购历史记录。我们有一个将网站表中的订单放入导航器表中的过程(因为需要对导航表进行格式化)。
我想查询网站表以使用其用户ID从登录用户获取订单:
SELECT OrderID FROM db1.zm.dbo.zOrder WHERE AccountID = 631180
(这将返回多个订单ID)
db1
是服务器,zm
是数据库。
返回的OrderID的格式类似于4565
,5675
等。我想将它们插入到一个临时表中,例如:Z0004565
具有一个Z和足够的前导0以击中该数字的7位数字。
如何修改select语句来做到这一点?还是可以
用于填充0的SQL: SELECT REPLICATE('0', 7-LEN(4665)) + 4665
SQL以下注释:
DECLARE @OrderNumTable table (orderNum varchar(20))
INSERT INTO @OrderNumTable EXEC( SELECT (''Z'' + REPLICATE(''0'', 7-len(OrderID)) + OrderID)FROM db1.zm.dbo.zOrder WHERE AccountID = 631180
-
SELECT OrderID,
‘Z’+RIGHT(‘0000000’+CAST(OrderID AS VARCHAR(7)),7)
FROM db1.zm.dbo.zOrder
WHERE AccountID = 631180在问题编辑后更新
DECLARE @OrderNumTable table (orderNum varchar(8)) INSERT INTO @OrderNumTable(orderNum) SELECT 'Z'+RIGHT('0000000'+CAST(OrderID AS VARCHAR(7)),7) FROM db1.zm.dbo.zOrder WHERE AccountID = 631180