1

クエリの結果は単なる数値であり、文字列であるかどうかを簡単に確認できます。クエリ結果の数値に相当する文字列をマークする方法。

数値と文字列のマッピングは、クエリに含まれている必要があります。

テーブルからnumを選択します。クエリ結果は9,2,4,7です。文字列リテラルは、この番号にマップされます。numの範囲は{0-9}からです。0-前払い、1-後払いのように賢明です

4

2 に答える 2

2

CASEこのための式は次のように使用できます。

SELECT 
  ...
  CASE 
    WHEN 1 THEN 'Postpaid'
    WHEN 2 THEN 'prepaid'
    ...
   END
...

たとえば、一時テーブルを使用してこれを行うこともできます。

DECLARE @t Table(NumberToReplace INT, replacewith VARCHAR(50));
INSERT INTO @t VALUES
(1, 'Postpaid'),
(2, 'Prepaid'),
...

次にJOIN、2つのテーブルを使用して、数値を対応する文字列に置き換えることができます。

SELECT 
  t1.Column1, t1.Column1, t2.replacewith
FROM YourTable t1
LEFT JOIN temp t2 ON t1.NumberToReplace = t2.NumberToReplace

以前は、他のテーブルに対応する文字列がない数値の値を指定していましたLEFT JOINNULL

これがsQLフィドルのデモです

于 2012-09-27T07:54:55.487 に答える
1

これは、あなたの望むことですか?

SELECT id, IF(my_field REGEXP '[digit]', 'is_string', 'is_numeric') as result
FROM my_Table

このhttp://sqlfiddle.com/#!2/48a6c/1をチェックしてください

于 2012-09-27T06:51:31.713 に答える