gpt4 book ai didi

sql - VBA:将片段从 VBA 转换为 SQL

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

我有一个小的 If 语句,我想请求帮助将其转换为 SQL 语法。

如果我是正确的,则 If 语句检查可能在传递的字符串上找到句点的位置。如果找到 (> 0) 例如string: "VQAL1-SQ994.1", would be 12 so > 0 would be true, 那么有人能给我解释一下输出是什么吗:Id = Left(ID, InStr(ID, ".") - 1) would be给定示例字符串?

If InStr(ID, ".") > 0 Then 
Id = Left(ID, InStr(ID, ".") - 1)
End If

感谢您的帮助。

更新

我整理了一个小的存储过程,看看我是否能够完成这项工作,但到目前为止我认为它没有工作,因为它从我传递的字符串中返回任何内容。

测试执行:

/*
EXEC Test_String 'VQAL1-SQ994.1'
*/

存储过程内容:

ALTER PROCEDURE [dbo].[Test_String] (@ProductID VARCHAR(25))
AS
BEGIN

DECLARE @ID VARCHAR (25)
SET @ID = (
SELECT
LEFT(@ProductID, LEN(@ProductID) - LEN(REPLACE(@ProductID, '.', '')) - 1)
);

SELECT @ID;
END;

最佳答案

它看起来像是返回字符串的前 X 个字符,其中 X 是句点的计数 - 1。在 TSQL 中,您可以通过以下方式执行此操作:

SELECT Left(id, LEN(id) - Len(Replace(id, '.', '')) - 1)

关于sql - VBA:将片段从 VBA 转换为 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37975769/

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