Microsoft Query;在Excel中使用SubString

时间:2017-01-10 21:59:54

标签: sql database excel

我正在尝试过滤我在Microsoft Query中创建的Query中的结果,以将数据从数据库中提取到Excel工作表中。具体来说,我试图根据字符串的第n个字符过滤掉。

我可以根据第一个字符轻松过滤出来:

SOPOrderReturnLine.ItemCode Like 'A25%'

但我不知道如何过滤以仅显示第10个字符=“A”的条目。我确定我必须使用Substring函数,但我并不熟悉,而且我很难让它工作。

3 个答案:

答案 0 :(得分:1)

尝试编辑sql查询并输入以下语句:

select * from SOPOrderReturnLine where substring(SOPOrderReturnLine.ItemCode,10,1) = 'A';

该语句应该适用于MySql数据库以及后台的Sql Server; (我已经用MySql数据库对其进行了测试)。

希望这有帮助。

答案 1 :(得分:0)

在MSQuery中(我认为是Jet),函数是Mid

SELECT * FROM tblLocation WHERE (Mid(LocationName,2,1)='e')

在第二个位置找到小写的“e”。

答案 2 :(得分:0)

我假设当您说MS Query时,您正在针对DBMS(SQL Server或其他一些通过ODBC)运行查询。

使用substrsubstringmid应该有效,具体取决于哪个 DBMS。也就是说,除非您使用MS Access,否则我认为大多数DBMS都支持下划线字符作为"任何单个字符。"它甚至可能在Access中工作,但我不确定。因此,我认为除了你得到的建议之外,这在大多数情况下也会有效:

SOPOrderReturnLine.ItemCode Like '_________A%'

如果您想使用子字符串,请不要抱我这些,但我认为:

Oracle / DB2 / SQLite - substr

Microsoft SQL Server / Sybase / MySQL - substring

MS Access - mid

PostgreSQL - substrsubstring