2012-05-09 10 views
0

私は簡単な質問があります。 Iは、ヘッドコード及び関連サブコードのリストを持っている:LIKE演算子を使用してヘッダーコードのみを取得する

  • 100.001(ヘッドコード)
  • 100.001.001-100.001.010(サブコード)
  • 990.001(ヘッドコード)
  • 990.001.001-120.001.010(サブコード)

ヘッドコードはすべて一覧表示され、その下にはサブコードが表示されます。私が望むのは、ヘッドコードだけをリストすることです。私は多くのバリエーションを試してみましたが、どれも効果がありません。

私も760.001から790.001にコードを取得したいと私は簡単にこのようにそれを達成:

WHERE ACCOUNT_CODE >= '760' 
AND ACCOUNT_CODE <= '790' 

その後、私はちょうど頭のコードを取得したい:

WHERE ACCOUNT_CODE LIKE '7%0.00%` 

しかし、それはまだリスト760.001.001から790.001.010までのコードのすべて。正しくフィルタリングするにはどうすればよいですか?

ありがとうございました!ほんとうにありがとう!あなたが代わりに任意の数の文字に一致する%ワイルドカードの唯一の1文字に一致するように_ワイルドカードを使用したい

+0

質問は明確ではないが、希望するどのような結果を指定して、どのようにデータは次のようになります –

答えて

2

- 例えば:

ACCOUNT_CODE LIKE '7_0.00_' 
+0

エラー:引数のデータ型varcharが部分文字列関数の引数2に無効です –

+0

@おそらくあなたの質問は完全にはっきりしませんでした - すべてのレコードにサブコードが含まれているのでしょうか、私は前者を前提としていましたが、後者の場合はWHERE句にフィルタを追加するだけです。 'どこで...そしてACCOUNT_CODE RLIKE '^ \ d + \。\ d + $'' (実際には、あなたの質問をもう一度見て、私はそれが何をしようとしているのかを見ています:任意の数字と一致する '% 'ワイルドカードの代わりに1文字のみを照合するために' _'ワイルドカードを使う必要がありました。 – eggyal

+0

申し訳ありませんが、substring_indexが認識されません。サブ文字列を使用します。 –

関連する問題