Ha egyenlőségjelet a typecasted integer és string, amely egy egész, miért VARCHAR munka, de a szöveg nem?

szavazat
0

Volt, hogy egyenlőségjelet két oszlop, két asztal a Postgres, x.order_number amely szöveget és a.order_reference amely egész számok.

Amikor futtatom

UPDATE ol.orders x
SET affiliate_network           = 'AWE',
    affiliate_site_name         = a.site_name,
    ...
FROM dl.awe a
WHERE x.order_number = a.order_reference :: TEXT;

ez hibát dob ​​(nem egyezik egész szövegre).

Azonban, ami ... WHERE x.order_number = a.order_reference :: VARCHAR(255); tökéletesen működik.

Mi a különbség a funkcionális VARCHAR és TEXT itt?

A kérdést 24/10/2019 12:54
a forrás felhasználó
Más nyelveken...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more