是否有像IDENTITY列类型的TSQL字母数字?

时间:2010-04-16 18:46:51

标签: sql-server tsql

是否有类似IDENTITY的列类型生成字母数字值? 喜欢023904F?

3 个答案:

答案 0 :(得分:3)

是,uniqueidentifier列,但长度为36个字符,请尝试:

select newid()

输出

------------------------------------
53F2103C-C357-429E-A0E8-2DC26666638F

(1 row(s) affected)

您可以像:

一样使用它
select LEFT(newid(),7)

并获得:

-------
50D0F58

(1 row(s) affected)

这不会是唯一的。

答案 1 :(得分:2)

否:您必须编写一个函数来为您完成。或者将“F”连接到计算列中的数字

之前的问题:

SQLServer IDENTITY Column with text

Increasing Alphanumeric value in user defined function

答案 2 :(得分:0)

不 - 但你可以随时

  • 创建INT IDENTITY列
  • 添加计算列,例如

    ALTER TABLE dbo.YourTable 
       ADD ProductID AS CAST(ID AS VARCHAR(8)) + 'F'
    

    或者你想对ID做什么以使其进入你的字母数字字段