0

テーブルに整数列があります。それはproduct id、次のような値を持っています

112233001  
112233002  
113311001  
225577001  

この番号付け(AABBCCDDD)は、次の4つの部分で構成されています。

AA : first level category  
BB : second level category  
CC : third level category  
DDD : counter  

SELECTステートメントの条件をチェックして、たとえばBB=33およびAA=11の行を選択したい

助けてください

4

5 に答える 5

4

これで十分でしょうか:

select x from table where field >= 113300000 and field < 113400000 
于 2012-06-26T08:43:18.393 に答える
1
          Select field from table where substr(field,,) = value
于 2012-06-26T08:41:46.530 に答える
1
SELECT * FROM YOURTABLE

WHERE 

substr(PRODUCT_ID, 3, 2)='33'
AND
substr(PRODUCT_ID, 1, 2)='11'

また

SELECT * FROM YOURTABLE

WHERE 

PRODUCT_ID LIKE '11%33%'

はい、要するに、文字列に変換する必要があります

substr の参照

目的

SUBSTR 関数は、文字位置から始まる、substring_length 文字の長さの char の一部を返します。SUBSTR は、入力文字セットで定義された文字を使用して長さを計算します。SUBSTRB は、文字ではなくバイトを使用します。SUBSTRC は Unicode 完全文字を使用します。SUBSTR2 は UCS2 コード ポイントを使用します。SUBSTR4 は UCS4 コード ポイントを使用します。

If position is 0, then it is treated as 1.

If position is positive, then Oracle Database counts from the beginning of char to find the first character.

If position is negative, then Oracle counts backward from the end of char.

If substring_length is omitted, then Oracle returns all characters to the end of char. If substring_length is less than 1, then Oracle returns null.

char は、任意のデータ型にすることができますCHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB。position と substring_length の両方must be of datatype NUMBER、または暗黙的に NUMBER に変換でき、整数に解決される必要がある任意のデータ型。戻り値は char と同じデータ型です。引数として SUBSTR に渡される浮動小数点数は、自動的に整数に変換されます。

于 2012-06-26T08:44:41.047 に答える
0

_ワイルドカード文字を使用する必要があります-

SELECT * 
FROM TABLE
WHERE
FIELD LIKE '1133_____'

ここでは、それぞれ_が 1 文字です。_したがって、長さを同じに保つには、同じ数を配置する必要があります

于 2012-06-26T09:00:17.677 に答える
0

これは使えそうです。そうしないと、それらを文字列としてキャストし、必要な値を解析する必要があり、クエリが大幅に遅くなる可能性があります。

SELECT * 
    FROM table t
WHERE t.field >= 113300000
AND t.field < 113400000
于 2012-06-26T08:47:48.073 に答える