标识列默认都是从0、1等个位数开始递增的,想问下可以将标识列设成“000001”之类的格式吗?该怎么做
呵呵 再顺便问下,如何做出:默认是4位数的字段,我输入1的话就是0001 新手。
标识列只能从数值型开始(一般都是整型),而你这需求的值却是字符型,那是不允许的,只能通过下面2种办法变通:
1、列设置为整型的标识列,然后由程序读取这个值后在通过自己组合成“000001”之类的。
2、额外增加一列整型的标识列,而你要的这列设置成非标识列,并设置成varchar等字符类型,然后你可以用触发器处理:根据标识列的值组合成新值放进你要的列中去。
"默认是4位数的字段,我输入1的话就是0001 新手。"
---------------------
select right(replicate('0',4)+ cast(1 as varchar),4)
select right(replicate('0',4)+ cast(100 as varchar),4)
select right(replicate('0',4)+ cast(99 as varchar),4)
1、列设置为整型的标识列,然后由程序读取这个值后在通过自己组合成“000001”之类的。
2、额外增加一列整型的标识列,而你要的这列设置成非标识列,并设置成varchar等字符类型,然后你可以用触发器处理:根据标识列的值组合成新值放进你要的列中去。
"默认是4位数的字段,我输入1的话就是0001 新手。"
---------------------
select right(replicate('0',4)+ cast(1 as varchar),4)
select right(replicate('0',4)+ cast(100 as varchar),4)
select right(replicate('0',4)+ cast(99 as varchar),4)
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-06-23
自动增长列identity(000001,1) 表示从000001开始,每次增加1本回答被提问者采纳