数値データをvarcharにプレーンで挿入すると、私はまったく実行しません フィールドなぜそれを2スペースで左パッドしますか。 varcharはスペースを取り除くことになっていません(大丈夫です...しかしスペースは "フロントパッド"というルールがどこにありますか)。あなたは2 spaces aka ' '
Teradata SQL VARCHARと空白
第二の質問のために20202020
ヘックスの上に表示された場合はなぜ、ここ2、先頭のスペース
INSERT INTO v VALUES (,1243444,3455435,8768810,'fdff',5,7,8,,)
とパッド(,1243444,3455435,8768810,'fdff',5,7,8,,)
が(someirrelvant_datatype,varchar(x),varchar(y),varchar(z),char(5),smallint,int,int,Timestamp)
あるので、データには、この
SEL CHAR2HEXINT (colA) ,colA FROM v
313732353732 172572 /* this is some other pre-existing value*/
2020202033343535343335 3455435 /* this is value just inserted */
のように見えます(上記状況の継続ではない)
ここでは、この
HMSA
232434343
HMSA
4343434343
434343434
HMSA
などのはまた、私はvarchar型のデータを持っている(50)colが末尾のスペース2020 HEX
を持っていますが、他の値はtrailing spaces
を持っていません。何が起こっているかわからない。今ここでは末尾のスペースをすべて捨てるとは思わないでしょうか?どのようにデータが到着するのかHMSA<space>
わかりません。何か案は ?
[OK]をので、このから来るいくつかの奇妙を見てみましょう:
insert ('yada ') into tb /* tb is volatile & SET.There are 4 spaces */
insert ('yada') into tb
Query Failed. 2802: Duplicate row error in tb
よしは2日だから、これは
7961646120202020 yada /*There are 4 spaces - 20 x 4 */
を見て、それは宇宙の比較部をオフに投げ挿入し、でしたtrim(oldvalue) vs trim (new value)
ありがとうございました...いつものようにDieterは説明が素晴らしく、 db世界で起こっている多くの一般的な事柄です。多くの人がこの貴重なq& – user1874594