相关疑难解决方法(0)

在 T-SQL 中将字符串中的 int 转换为整数

我需要将字符串转换为整数,但出现类型错误。

declare @stringinteger nvarchar(255) null;
set @stringinteger='1,2,3,4'

select *
from user
where id in (@stringinteger) 
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

将 nvarchar 值“1,2,3,4”转换为数据类型 int 时转换失败

sql t-sql sql-server ssms

2
推荐指数
1
解决办法
3899
查看次数

如何编写存储过程以接受使用IN操作删除行的集合?

我正在尝试为删除编写存储过程。但是为了提高性能,我们已将delete sql查询更改为使用IN操作。我要编写接受逗号分隔ID的过程。

我尝试编写一个接受单个条目ID的过程。步骤如下。

CREATE PROCEDURE DeleteListEntry
        @entryid int

AS

DELETE FROM  LIST_ITEMS
 WHERE ENTRY_ID = @entryid;
go
Run Code Online (Sandbox Code Playgroud)

我想知道如何将上述过程转换为接受批量输入。它的SQL查询如下-

DELETE FROM LIST_ITEMS WHERE ENTRY_ID IN (id1, id2, id2, ... );
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures

2
推荐指数
1
解决办法
76
查看次数

在SQL Server中的IN拆分函数中找到的记录的精确排序顺序

我需要返回以逗号分隔的字符串发送到存储过程的记录 - 如下所示:

@PMID = 29573145,24106086,20513766,24326307
Run Code Online (Sandbox Code Playgroud)

我有一个存储过程来拉取记录,如

SELECT 
    data, 
    PMID  
FROM
    [dbo].[ADMIN_Publication_JSON] 
WHERE 
    PMID IN (SELECT DATA FROM dbo.Split(@PMID, ',')) 
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是返回记录集是随机的,我需要它是精确的,因为我的最终用户可以更改顺序,并且记录需要按顺序显示,这将改变逗号字符串中的顺序.这是可能的还是我需要完全改变我提取数据的方式?谢谢

sql sql-server stored-procedures sql-server-2014 sql-server-2016

0
推荐指数
1
解决办法
93
查看次数

SQL在查询中使用逗号分隔的字符串

我正在使用存储过程,并用逗号将其传递给字符串,如下所示:

Apple,Banana,Orange
Run Code Online (Sandbox Code Playgroud)

我想在IN子句中使用此字符串,但是我不想使用

SELECT value 
FROM STRING_SPLIT(@MyStr, ',')
Run Code Online (Sandbox Code Playgroud)

我如何生成可以使用的字符串

SELECT * 
FROM MyTable 
WHERE Fruit IN (@MyStr)
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures

-2
推荐指数
1
解决办法
57
查看次数

在SELECT中为IN语句声明var

我有那个sql代码

SELECT * FROM table1
WHERE id IN (1,2,3,4,5,6)
Run Code Online (Sandbox Code Playgroud)

我想要那个表达方式

DECLARE @allNeededIds ??? = (1,2,3,4,5,6)

SELECT * FROM table1
WHERE id IN @allNeededIds
Run Code Online (Sandbox Code Playgroud)

我可以在SQL中声明这样的东西,或者我应该使用表格,那么代码会如何看待?我使用MS Sql Server

sql sql-server

-3
推荐指数
1
解决办法
106
查看次数