Kaj*_*ama 7 sql ms-access-2010
我想知道,如果有什么办法,如何在访问sql中实现这样的东西.
select * from my_table where column_name like ('ABC%', 'MOP%');
Run Code Online (Sandbox Code Playgroud)
我尝试使用这个:https://stackoverflow.com/a/1387797/1784053但这似乎不适用于Access.
有没有办法如何实现像基于动态条件的多重调节?这意味着,我不能使用OR没有UNION因为我的组条件是动态的.
类似的问题:我如何在LIKE运算符中引入多个条件
Sim*_*lia -1
尝试这个
功能
CREATE FUNCTION [dbo].[fn_Split](@text varchar(8000), @delimiter varchar(20))
RETURNS @Strings TABLE
(
position int IDENTITY PRIMARY KEY,
value varchar(8000)
)
AS
BEGIN
DECLARE @index int
SET @index = -1
WHILE (LEN(@text) > 0)
BEGIN
SET @index = CHARINDEX(@delimiter , @text)
IF (@index = 0) AND (LEN(@text) > 0)
BEGIN
INSERT INTO @Strings VALUES (@text)
BREAK
END
IF (@index > 1)
BEGIN
INSERT INTO @Strings VALUES (LEFT(@text, @index - 1))
SET @text = RIGHT(@text, (LEN(@text) - @index))
END
ELSE
SET @text = RIGHT(@text, (LEN(@text) - @index))
END
RETURN
END
Run Code Online (Sandbox Code Playgroud)
询问
select * from my_table inner join (select value from fn_split('ABC,MOP',','))
as split_table on my_table.column_name like '%'+split_table.value+'%';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13532 次 |
| 最近记录: |