日期:2014-05-18  浏览次数:20692 次

关于如何取出低于10位的sql server唯一值?
在sql server 字段默认值中写入以下代码,注意没有,就能自动得到默认唯一值。我是先取到1990-8-1到现在的小时数+分钟数+毫秒数,但是总长度超过了【10】位(int字段最大值10位),只能用bigint,我想用int类型,就是低于10位数。

select (CONVERT([bigint],(CONVERT([varchar](10),datediff(hour,'1990-8-1',getdate()),(0))+CONVERT([varchar](10),datepart(minute,getdate()),(0)))+CONVERT([varchar](10),datepart(millisecond,getdate()),(0)),(0)))
--- 直接在sql运行 得到的是11位数,如果能取出低于10位数的唯一值,各位帮忙。



------解决方案--------------------
SQL code

select 
(CONVERT([bigint],(CONVERT([varchar](10),datediff(hour,'1990-8-1',getdate()),(0))
+CONVERT([varchar](10),datepart(minute,getdate()),(0)))
+CONVERT([varchar](10),datepart(millisecond,getdate()),(0)),(0)))
/*
18596350860
*/

--不知道楼主想要什么样的结果