Atunci când un număr întreg echivalând typecasted și un șir de caractere care conține un număr întreg, de ce lucru VARCHAR, dar textul nu?

voturi
0

A trebuit să echivaleze două coloane două tabele în Postgres, x.order_number care conține text și a.order_reference care conține numere întregi.

Când am rulat

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;

aruncă o eroare (nu se poate potrivi întreg în text).

Cu toate acestea, dărnicia ... WHERE x.order_number = a.order_reference :: VARCHAR(255); funcționează perfect.

Care este diferența funcțională între VARCHAR și text aici?

Întrebat 24/10/2019 la 12:54
sursa de către utilizator
În alte limbi...                            

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