Wanneer het gelijkstellen van een typecasted integer en een string met een integer, waarom VARCHAR werk, maar de tekst niet het geval is?

stemmen
0

Ik moest twee kolommen van twee tabellen gelijk in Postgres, x.order_number welke tekst en a.order_reference die integers bevat.

Wanneer ik

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;

werpt een fout (kan niet overeen integer naar tekst).

Echter, het geven ... WHERE x.order_number = a.order_reference :: VARCHAR(255); werkt perfect.

Wat is het functionele verschil tussen VARCHAR en tekst hier?

De vraag is gesteld op 24/10/2019 om 12:54
bron van user
In andere talen...                            

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