2017-01-10 6 views
0

データベースからExcelシートにデータをプルするためにMicrosoft Queryで作成したクエリの結果をフィルタリングしようとしています。具体的には、文字列のn番目の文字に基づいて除外しようとしています。Microsoft Query; ExcelでのSubStringの使用

私は簡単に最初の文字に基づいてフィルタリングすることができます。

SOPOrderReturnLine.ItemCode Like 'A25%' 

しかし、私は、私は10日のchar =「A」エントリのみを表示するようにフィルタリングすることができるか見当がつかない。私はSubstring関数を使わなければならないと確信していますが、それは私には馴染みがないので、動作させるのに苦労しています。

+1

どのような種類のデータベースを使用していますか?それは違いを生みます... –

答えて

1

は、SQLクエリを編集して、次の文を入力してください:

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

文はバックグラウンドでSQL Server用だけでなく、MySQLデータベースのために働く必要があります。 (私はそれをMySqlデータベースでテストしました)。

これが役に立ちます。

0

MSQuery(Jet under the cover)は、この機能はMidです。

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

第2の場所で小文字の「e」を見つける。

0

私はあなたがDBMS(SQL Serverやその他のODBC経由のもの)に対してクエリを実行していると仮定します。

substrsubstring又はmidの使用は、 DBMSに応じて、動作するはずです。つまり、MS Accessを使用していない限り、ほとんどのDBMSはアンダースコア文字を「任意の1文字」としてサポートすると思います。それはAccessで動作するかもしれませんが、私は確かに分かりません。したがって、私はあなたが、これはまた、ほとんどの場合に動作します得ている提案に加えて考える:あなたは部分文字列を使用したい場合は

SOPOrderReturnLine.ItemCode Like '_________A%' 

、これらに私を保持しませんが、私は思う:

のOracle/DB2/SQLiteの - substr

のMicrosoft SQL Serverの/ Sybaseの/ MySQLの - substring

MSアクセス - mid

PostgreSQL - substrまたはsubstring

関連する問題