3つのフィールドを持つテーブルがあります。すべてvarchar(256)です。例えばカンマで区切られた複数の値を持つフィールドを、teradataの複数のレコードに分割します。
:
Name : Id: Comment:
Charles ["92736","387625"] hello
私はこのような出力をしたい:
Name : Id: Comment:
Charles 92736 hello
Charles 387625 hello
私は実行するコードは次のとおりです。
SELECT name, STRTOK(id, ',', i) AS x, comment
FROM test
CROSS JOIN
(
SELECT day_of_calendar AS i
FROM sys_calendar.CALENDAR
WHERE i <= 15
) AS dt
WHERE x IS NOT NULL;
私が手出力は次のようになります。
Name : Id: Comment:
Charles ["92736" hello
Charles "387625"] hello
私の出力に[と "文字が必要ない。私は数値を数値として欲しいだけです。
これについての助けに感謝します。
ヒント:、今までのようにデータを保存することはありませんカンマ区切りのアイテム!それはあなたに多くのトラブルを引き起こすだけです! – jarlh
MySQLまたはTeradataを使用していますか? (答えはおそらく製品固有のものです。) – jarlh
こんにちは、私はteradataを使用しています。値はVARCHAR(256)として保管されますが、配列の形で保管されます。例:["38263"、 "237463"、 "64244"] – Austin