62得票4回答
在SQL Server函数中使用newid()

我需要在一个表值函数的查询结果中插入一个伪列,该列的数据类型必须是唯一标识符。最好的方法(我认为...)是使用 newid() 函数。问题是,我无法在这种类型的函数内使用 newid():Invalid use of side-effecting or time-dependent opera...

48得票5回答
"order by newid()" - 它是如何工作的?

我知道如果运行这个查询select top 100 * from mytable order by newid() 它将从我的表中获取100个随机记录。 然而,我有点困惑它的工作原理,因为我在select列表中没有看到newid()。能否有人解释一下? 这里的newid()是否有特殊之处?

32得票3回答
SQL Server:NEWID()函数是否总是返回唯一的ID?

NEWID()函数是否永远不会再次返回已经返回过的相同ID? 假设我选择了一个NEWID()并且它返回'1'(仅作为示例),那么它将永远不会再次返回'1'吗?这是不可能的吗?

26得票5回答
SQL Server - 转换唯一标识符值为字符时结果空间不足

在从一个表复制数据到另一个表时,运行 SQL 查询时,我遇到了以下错误: Msg 8170,Level 16,State 2,Line 2 Insufficient result space to convert uniqueidentifier value to char。 ...

9得票1回答
SQL - 按组随机抽取5%的样本

我有一张包含大约1000万行和4列的表格,没有主键。第2列、第3列和第4列(x2 x3和x4)的数据按照标识在列1 X1中的50个组进行分组。 要从表格中获取5%的随机样本,我一直使用以下方法: SELECT TOP 5 PERCENT * FROM thistable ORDER BY ...

9得票3回答
如何使用NEWID()而不失去唯一性?

我正在尝试从一个(设计不良的)SQL数据库中创建新的数据提取。客户要求我添加一个distinctidentifier,我试图使用NEWID()函数来实现。不幸的是,这会导致返回多个重复记录。 经过一番研究,我发现NEWID()函数确实“撤销”了使用distinct关键字,但我无法弄清楚为什么...

8得票1回答
在SQL Server 2000中获取最后插入的唯一标识符

OUTPUT子句与SQL Server 2005兼容,但与SQL Server 2000不兼容。如何将此命令转换为在SQL Server 2000中运行? CREATE TABLE sample ( ID uniqueidentifier NOT NULL DEFAULT newid(),...