gpt4 book ai didi

sql - 当键不是数字而是字母数字值时,在循环中选择特定数量的行

转载 作者:行者123 更新时间:2023-12-04 22:28:17 26 4
gpt4 key购买 nike

我试图从 SQL Server 的某些表中选择 1000 行,在某些情况下很容易,因为我确实有一个 bigint 键。因此,我存储了我获取的 key 的最后一个数字,然后将其添加到 100。见下文:

--Get the last loaded record
DECLARE @StartIndex BIGINT

SET @StartIndex = 1 + (SELECT [StoredIndex]
FROM [DB].[dbo].[MasterData]
WHERE [Status] = 'LastLoad')

--Declare and set the last record that was loaded
DECLARE @EndIndex BIGINT

--Retrieve the next @Step+1 or less records and store them in a temporary table
SELECT T1.*
INTO #TempResults
FROM
--Get the next @Step+1 or less records
(SELECT *
FROM ANOTHERDB.[TableName]
WHERE [Tables_ID] BETWEEN @StartIndex AND @StartIndex + 1000) T1

--Set the index of the last record inserted
SET @EndIndex = (SELECT MAX([Tables_ID])--The next record fetched with the largest ID
FROM #TempResults)

但是,当键是字母数字值时如何做到这一点?

相当于什么
WHERE [Tables_ID] BETWEEN @StartIndex AND @StartIndex + 1000

如果 @StartIndexnvarchar ,例如 123g7_56y7f ?

谢谢你!

最佳答案

SQL 表没有 default order .因此,除非您可以使用 ORDER BY clause 定义一个没有前 1,000 条或最后 1,000 条记录。

如果您尝试返回添加到表中的最后 1,000 条记录,您将需要捕获创建每条记录的日期和时间。您不能依赖 identify column ,因为这些可以是 reseededupdated .

联合 TOPORDER BY限制返回的记录数。升序返回前 n 个结果。降序最后 n 个结果。

-- Limits results to the last 1,000 records.
SELECT TOP 1000
*
FROM
YourTable
ORDER BY
YourColumn DESC
;

替换 YourTableYourColumn如所须。

关于sql - 当键不是数字而是字母数字值时,在循环中选择特定数量的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38186496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com