服务端命令SQL 不支持IN 参数(变量)
本帖最后由 Brian.Zhang 于 2024-7-3 22:56 编辑必须自己拼写SQL
@分录类型 的这个参数占位符我记得在不同数据库里有不同的参数语法,比如SQL Server 使用 @,而 MySQL 可能使用 ? 或 :name。
所以,我们这是使用的什么数据库呀? 常用的DB都有可以能使用 你分录类型这个参数都没定义啊 定义了: 常用的DB,包括 mysqlSQL都支持IN
sqlserver 版本大于2016用 where itme_type in (select * from SELECT value FROM STRING_SPLIT(@je_bb,',')
小于2016版本需要调用自定义函数
CREATE FUNCTION .
(
@c VARCHAR(MAX) ,
@split VARCHAR(50)
)
RETURNS @t TABLE ( col VARCHAR(50) )
AS
BEGIN
WHILE ( CHARINDEX(@split, @c) <> 0 )
BEGIN
INSERT@t( col )
VALUES( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1) )
SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')
END
INSERT@t( col ) VALUES( @c )
RETURN
END
GO 朗月2022 发表于 2024-7-4 09:13
常用的DB,包括 mysqlSQL都支持IN
是的都支持,但是不同数据库类型所用的语法不一样,我主要是想看您使用的什么数据库以及什么版本呢 Oracle ,MySql,Sql Server 朗月2022 发表于 2024-7-5 08:47
Oracle ,MySql,Sql Server
供参考,建议您先检查一下语法是否对应
页:
[1]
2