select cast(newid() as varchar(36))
解决方案 »
- EXCEL 服务器 注册机 怎么使用
- sql语句查询效率问题,求高手指点
- 100悬赏 不够再加 转XML问题(内有联结)
- 怎样把一个查询的表名可以用参数传递,表名是从另一个表中取出来的
- 如何设置sqlserver2008r2,让管理器只能在特定的机子使用?
- 如何将数据插入到a和b表中,并且把a表的索引id插入到b表的opetateid的字段里
- 查询含有一个datetime型字段时,遇到了无效的 datetime 值。该值超过了 9999 年。
- 关于多条件查询 绑定AspNetPager分页控件的问题(困扰了好久)
- sql server 2000中再添加数据时,出现"在流水模式下,事务无法启动"
- 多表查询-请您指教
- 在线等,update问题,高手帮帮忙!!!
- 求一个查询的语句!急。。。在线等.......
后面4位都是0 这个能不能解决得随机点 不要全部都是0
是不是rand()函数得小数位不够????
<<用存储过程 生成长度为21位的数字 并且插入到数据库 100分裸体跪求 在线等待!>>
create view v_newid as select newid=cast(newid() as varchar(36))
go--处理函数
create function f_convert()
returns decimal(38,0)
as
begin
declare @id varchar(36),@i int
select @id=newid,@i=patindex('%[^0-9]%',@id) from v_newid
while @i>0
select @id=stuff(@id,@i,1,'')
,@i=patindex('%[^0-9]%',@id)
return(@id)
end
go--调用示例
select dbo.f_convert()
drop function [dbo].[f_rand]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_rand]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[v_rand]
GO--需要这样一个视图
create view v_rand as select re=rand()
go--自定义函数:取得指定上下限的随机数
create function f_rand(
@下限 decimal(38,0),
@上限 decimal(38,0)
)
returns decimal(38,0)
as
begin
declare @r decimal(38,0)
select @r=cast(re*899999+100000 as decimal(38,0))*100000000000000000000
+cast(re*899999+100000 as decimal(38,0))*1000000000000000
+cast(re*899999+100000 as decimal(38,0))*10000000000
+cast(re*8999+1000 as decimal(38,0))*100000
+cast(re*899+10000 as decimal(38,0))
from v_rand
return(@r)
end
goselect dbo.f_rand(10000000000000000000,999999999999999999999)