我正在尝试筛选我在Microsoft Query中创建的查询的结果,以便从数据库中提取数据到我的Excel工作表中。具体地说,我试图根据字符串的第n个字符进行过滤。
我可以很容易地根据第一个字符过滤掉:
SOPOrderReturnLine.ItemCode Like 'A25%'但是我不知道如何过滤,只显示第10个字符= "A“的条目。我确定我必须使用Substring函数,但我对它并不熟悉,我正在努力让它工作。
发布于 2017-01-11 06:30:06
尝试编辑sql查询并输入以下语句:
select * from SOPOrderReturnLine where substring(SOPOrderReturnLine.ItemCode,10,1) = 'A';该语句应该既适用于MySql数据库,也适用于后台的Sql Server;(我已经使用MySql数据库对其进行了测试)。
希望这能有所帮助。
发布于 2017-01-11 07:18:38
在MSQuery (我想是暗地里的喷气机)中,函数是Mid。
SELECT * FROM tblLocation WHERE (Mid(LocationName,2,1)='e')在第二个位置找到小写的“e”。
发布于 2017-01-12 06:55:15
我假设当您说MS查询时,您是在对DBMS (SQL Server或其他通过ODBC运行的数据库)运行查询。
使用substr、substring或mid应该可以,这取决于哪种数据库管理系统。也就是说,除非您正在使用MS Access,否则我认为大多数DBMS都会将下划线字符支持为“任何单个字符”。它甚至可能在Access中工作,但我不确定。因此,我认为除了你得到的建议之外,这在大多数情况下也是有效的:
SOPOrderReturnLine.ItemCode Like '_________A%'如果你想使用子字符串,不要让我坚持这些,但我认为:
Oracle / DB2 / SQLite - substr
Microsoft SQL Server / Sybase / MySQL - substring
MS Access - mid
PostgreSQL -substr或substring
https://stackoverflow.com/questions/41579198
复制相似问题