如何生成一个不带"-"的GUID

loworth 2008-08-30 01:44:36
--生成GUID用
SELECT NEWID()
/* 64BAD953-4C22-44C0-A492-7AC607C8C916
此法生成的带了"-",如何生成一个GUID,不带“-”,即64BAD9534C2244C0A4927AC607C8C916
当然通过办法也可以转,比如
*/
SELECT REPLACE(CAST(NEWID() AS CHAR(38)),'-','')
--但是,有没有好办法呢
...全文
477 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
loworth 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 CN_SQL 的回复:]
你的GUID的概念是什么?如果只是要生成一个随机数的话可以使用代码:
SQL codeselectabs(checksum(newid()))--如果只要正数

如果你是要去掉"-"的GUID(36位的),你的方法就已经是最好方法了.
[/Quote]

谢谢。只好如此了。



PS:GUID为 32位
CN_SQL 2008-08-30
  • 打赏
  • 举报
回复
你的GUID的概念是什么?如果只是要生成一个随机数的话可以使用代码:

select abs(checksum(newid())) --如果只要正数


如果你是要去掉"-"的GUID(36位的),你的方法就已经是最好方法了.
rainraincn 2008-08-30
  • 打赏
  • 举报
回复
试一下使用不同的数据类型
chenjunsheep 2008-08-30
  • 打赏
  • 举报
回复
路过...
bwu851 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 loworth 的帖子:]
SQL code--生成GUID用
SELECT NEWID()
/* 64BAD953-4C22-44C0-A492-7AC607C8C916
此法生成的带了"-",如何生成一个GUID,不带“-”,即64BAD9534C2244C0A4927AC607C8C916
当然通过办法也可以转,比如
*/
SELECT REPLACE(CAST(NEWID() AS CHAR(38)),'-','')
--但是,有没有好办法呢
[/Quote]

那是microsoft做的, 默认的...

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧