私はcast
テラデータの列の長さの関数を使用する必要があります。teradata:キャストの長さをキャリブレーションする
は、私は私はそれをどのように行うことができます
select cast(name as CHAR(<length of column>) from table
のようなキャスト操作のものを使用する必要が
id | name
1|dhawal
2|bhaskar
、私は次のようなデータを持つテーブルがあると言いますか?
おかげ Dhawal
私はcast
テラデータの列の長さの関数を使用する必要があります。teradata:キャストの長さをキャリブレーションする
は、私は私はそれをどのように行うことができます
select cast(name as CHAR(<length of column>) from table
のようなキャスト操作のものを使用する必要が
id | name
1|dhawal
2|bhaskar
、私は次のようなデータを持つテーブルがあると言いますか?
おかげ Dhawal
あなたは、テーブル定義を見て、長さを見つけなければならない - 手動(show table
)またはdbc.ColumnsV
を照会dynamic SQLを書き込むことで。
FastExportが含まれて2バイトの長さの情報を削除するためにあなたが
select max(length(cast(... as varchar(<large enough value>))) from TABLE
を使用して、実際のデータの最大長を見つけることができます。しかし、これはFastExportのためであれば、私はcasting as varchar(large-enough-value)を考えると後処理 更新が優れています(CHAR()をエクスポートするとスペースがたくさんある固定長の出力ファイルになります)。
あなたはこれを知っているかもしれませんが、その場合には:Teradataは通常、従来のfexp
ではなくTPTに切り替えることを推奨しています。
私は、パイプで区切られたファイルとしてテーブルのデータを保存するために高速エクスポートを使用するperでプログラムを書く必要があります。他のデータベースにロードすることができます。 高速エクスポートによって追加された特殊文字を削除するには、キャスト操作を使用する必要があります。また、ファイルのスペースを節約する必要があるので、列データの長さのキャスト演算を使用する必要があります。 – Dhawal
返信ありがとう、私は列の長さを見つけることができますが、その長さにキャストできるように列のデータの長さを見つける必要があります。 – Dhawal
@Dhawalは更新された答えを参照してください。 – Nickolay
固定長のCHARでなければならないのですか、それともVARCHARでもOKですか? – dnoeth