sql-server - 从数组中选择值
问题描述
有一个数组@array = select username from usertable
,参数传递给另一个查询
SELECT
*
FROM transactiontable TT
WHERE TT.name in (SELECT value FROM string_split(@array, ','))
这样做有什么好处?
我不能这样做SELECT * from transcationtbale TT WHERE TT.name in @array
吗?
还有,什么是SELECT value FROM expression
?
谢谢
解决方案
STRING_SPLIT
用于通过指定的分隔符分隔字符串。请在 MSDN 上阅读此说明。让我举个例子:
SELECT * FROM STRING_SPLIT('Adam,Joseph,Jon',',')
但是,如果您从表中选择,则仅使用:
SELECT UserName FROM UserTable
它们之间没有任何好处,无法比较,就像比较苹果和橘子一样。
推荐阅读
- javascript - 反应原生模态总是可见的
- java - 在 Java 中,排序结果以 A、a、B、b... 的形式升序返回
- html - HTML/CSS 中下拉列表的实现
- c# - Net Core:启动类中的ILogger:封装在扩展方法中
- c++ - 我不明白为什么我得到一个错误的访问异常
- ubuntu - tensorflow 1.13.1 未检测到 gpu
- excel - 如何使用不同的复选框选择一个切片器的多个切片器项目?
- java - 为单个服务配置多个端点
- react-native - 从函数 React-Native 返回多个 JSX 元素
- asp.net-core - 如何使用bloomRPC 调用.NET Core 3.0 gRPC Server 应用程序?