2017-12-28 7 views
0

IDを含む列にレコードがいくつかあり、これらのレコードのいくつかにコンマで区切られた複数のIDが含まれています。さらに、「3」と「2」のレコードがあります。「3」と「2」の場合は単純に「3」と「2」のレコードがあります。私はこのDBに書き込み権限がないので、それらのレコードを更新することはオプションではありません。MS Access式を使用してコンマの左側の値が0より大きいレコード

レコードのコンマの左側にある値が0より大きいコンマを含むレコードを返すクエリを作成しようとしています。 "2,3"、 "2,3,12"などであるが、 "3"または "、2"ではない。

MS Accessでこの式はどのように見えますか?

ありがとうございます。あなたがそれらを返すとき、レコードから始まる、コンマを削除したい場合は

+0

コンマで始まらないレコードを探しているのなら、それは本当に簡単です。開始カンマなしでレコードを返す場合は、それも簡単です。 –

+0

開始カンマなしでレコードを返したい。それはそれを置くより良い方法です、ありがとう! – UserX

答えて

0

、あなたはとても単純なクエリ使用して行うことができます。

SELECT IIF(MyField LIKE ",*", Right(MyField, Len(MyField)-1), MyField) 
FROM MyTable 
+0

ありがとうございます! – UserX

0

があなたの質問に答えるために、あなたは単にヴァルを使用することができます。

SELECT * FROM YourTable WHERE Val([YourField]) > 0 
+0

ああ、それはコンマでないレコードを返します。しかし、答えをありがとう! – UserX

0

私は単純に使用します。

select t.* 
from t 
where val not like ",*"; 

これは0の部分を処理しませんが、回答には例を挙げません。おそらくこれはその部分に答えます:

select t.* 
from t 
where val not like ",*" and val not like "*0,*"; 
関連する問題