【问题标题】:How to select more than 1 uniqueidentifier?如何选择超过 1 个唯一标识符?
【发布时间】:2012-09-27 18:04:58
【问题描述】:

我想知道我是否可以在SQL server 中选择多于1 个uniqueidentifier

要选择 1 :SELECT NEWID() 这会返回 1 个结果。

我想带回大约 50 个结果

编辑:

我希望在 1 个网格中返回结果,因此我可以一次复制所有结果。不要一一复制粘贴。

【问题讨论】:

    标签: sql-server select uniqueidentifier


    【解决方案1】:

    您是否尝试在 SQL Server Management Studio 中执行此操作?

    试试:

    SELECT NEWID()
    GO 50
    

    并运行此批处理

    更新:

    好的 - 那么这个怎么样??

    SELECT NEWID()
    FROM master..spt_values
    WHERE name IS NULL
    AND number < 50
    

    【讨论】:

    • 这看起来不错,但是否可以选择它们,以便在 1 个网格中返回结果。我想将它们全部复制到excel表中。我不想一个接一个地复制。
    【解决方案2】:

    假设master.dbo.sysobjects 表中至少有50 个系统对象:

    SELECT TOP 50 NEWID() FROM master.dbo.sysobjects WHERE xtype = 'S'
    

    您不需要 order by,因为 NEWID 每次都是随机的。

    【讨论】:

    • +1 真聪明!我喜欢它 - 比我的第二种方法简单得多;-)
    • @RemusRusanu - 只是想确保其中至少有 50 条记录,因为我不确定表中可以有多少非系统对象,但这不是必需的。
    【解决方案3】:
    --run these queries independently
    CREATE TABLE #temp1 (ID UniqueIdentifier)
    GO
    
    INSERT INTO #temp1
    SELECT NewID() AS ID
    GO 50
    
    SELECT *
    FROM #temp1
    GO
    
    DROP TABLE #temp1
    GO
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      • 2013-10-22
      相关资源
      最近更新 更多