Microsoft Query; 在Excel中使用SubString

我试图过滤来自我在Microsoft Query中创build的查询的结果,以便将数据从数据库中提取到我的Excel工作表中。 具体来说,我试图根据string的第n个字符过滤掉。

我可以很容易地过滤掉第一个字符的基础上:

SOPOrderReturnLine.ItemCode Like 'A25%' 

但我不知道如何过滤只显示第10个字符=“A”的条目。 我确定我必须使用一个Substring函数,但是对于我来说并不熟悉,而且我正在努力让它工作。

尝试编辑你的SQL查询,并input以下语句:

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

该语句应该适用于MySql数据库以及后台的Sql Server; (我用MySql数据库testing过)。

希望这可以帮助。

在MSQuery(Jet下,我认为),function是Mid

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

在第二个位置find一个小写字母“e”。

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

substrsubstring或者mid应该依赖于哪个 DBMS。 也就是说,除非你使用MS Access,否则我认为大多数DBMSs都会将下划线字符支持为“任何单个字符”。 它甚至可能在Access中工作,但我不知道。 因此,除了您所得到的build议之外,我认为在大多数情况下也是如此:

 SOPOrderReturnLine.ItemCode Like '_________A%' 

如果你想使用子string,不要抱着我,但我认为:

Oracle / DB2 / SQLite – substr

Microsoft SQL Server / Sybase / MySQL – substring

MS Access – mid

PostgreSQL – substrsubstring