我试图从SQL Server中的某些表中选择1000行,在某些情况下很容易,因为我确实有一个bigint键。因此,我存储我获取的密钥的最后一个号码,然后在上面加上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
如果@startindex
是NVARCHAR
,例如123G7_56Y7F
?
谢谢你!
方法一:
如果您使用的是SQL Server 2012或更高版本,则可以使用偏移量提取
,如下所示:
SELECT *
FROM ANOTHERDB.[TableName]
ORDER BY Col1
OFFSET XX ROWS FETCH NEXT YY ROWS ONLY;
Col1=要对数据进行排序的列
SELECT *
FROM ( SELECT * ,
ROW_NUMBER() OVER ( ORDER BY COL1) AS RN
FROM ANOTHERDB.[TableName]
) AS K
WHERE K.RN BETWEEN XX AND YY;
我正在运行测试的类: 测试课程: 当我用一个通过的数字运行测试时,它工作正常,但是当我把它换成不同的东西时,例如69,我得到的是数值,而不是字母: 实际值不应该是D,而应该是F吗?我做错了什么?我正在看这个教程,在15:38,他把它们作为字母而不是数字。
问题内容: 我想计算以下字符串中的字母,数字和特殊字符的数量: 我试过了: 但我遇到了错误。我对此尝试了各种其他变化-仍然出现错误-如: 找不到’<=’的重载,该重载接受提供的参数 问题答案: Swift 3更新: (以前的Swift版本的答案) 一个可能的Swift解决方案: 更新: 上述解决方案仅适用于ASCII字符集中的字符,即不能将Ä,é或ø识别为字母。Foundation框架使用以下替代
我正在将数据导入到第三方CRM中,并且对电话号码字段的限制比源数据库(MySQL)的限制更严格。我想抓取选择中的前10个数字字符。我没有整理现有数据的灵活性。我只能用那里的东西工作。到目前为止,我在论坛上所能找到的似乎都是创建一个自定义函数。自定义函数是唯一的方法吗?环境是MySQL5.7.19。 提前道谢!
问题内容: 这只是给我最后一个字符(数字),但我需要整个数字字符串 结果:3 期望值:123 这给了我相同的结果,但是我需要它返回一个空白值: 结果:3 期望: 注意:Postgres 7.4 有用的链接:http : //www.postgresql.org/docs/7.4/static/functions- matching.html 更新: 两者现在都返回:123 仍然需要跳过或返回以下字
问题内容: 我正在尝试使用以下命令选择MySQL中仅包含字母数字字符的所有行: 但是,它将返回所有行,而不管它们包含非字母数字字符的事实。 问题答案: 试试这个代码: 这样可以确保所有字符都匹配。
我在firefox和internet Explorer中的有一些问题。在firefox和IE中键入字符将是数字,但文本也可以键入。在Chrome中工作完美。是否可以不使用进行修复。提前致谢