基于其他列在表列中生成随机数

时间:2017-10-31 04:03:54

标签: sql sql-server tsql

我是SQL的新人。任何人都可以帮我解决我的问题。

我想在GenerateproductNumber列中生成一个数字,如

  

PDT-1201/1-P1,PDT-1201/1-P2基于ProductNumber列。

enter image description here

3 个答案:

答案 0 :(得分:0)

也许,你在寻找:

SELECT *,
       'PDT-1201/1-P'+CONVERT(VARCHAR(10), ROW_NUMBER() OVER(PARTITION BY ProductNumber ORDER BY ID)) [GenerateproductNumber]
FROM <table_name>;

结果:

ID  CustomerID  Supplier    Product ProductNumber   GenerateproductNumber
1   2           ABC PVT LTD Jeans   1               PDT-1201/1-P1
2   3           Pk PVT LTD  Jeans   1               PDT-1201/1-P2

答案 1 :(得分:0)

你可以使用update命令(如果没有在GenerateproductNumber上应用null约束) 首先在表中插入记录,然后更新GenerateproductNumber列

UPDATE your_table_name SET GenerateproductNumber = 'PDT-1201/1-P'||char(ProductNumber)

答案 2 :(得分:0)

如果GeneratedProductNumber列的数据/值依赖于其他列值/数据,或者在计算时,您可以在sql server中使用计算列概念。

请参阅以下链接以获取更多信息: -

http://www.c-sharpcorner.com/article/computed-columns-in-sql-server/