Όταν εξισώνοντας ένα typecasted ακέραιο και ένα string που περιέχει έναν ακέραιο, γιατί το έργο VARCHAR, αλλά το κείμενο δεν έχει;

ψήφοι
0

Έπρεπε να εξισώσουν δύο στήλες των δύο πινάκων σε Postgres, x.order_number που περιέχει το κείμενο και a.order_reference που περιέχει ακέραιους αριθμούς.

Όταν τρέχω

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;

ρίχνει ένα λάθος (δεν μπορεί να ταιριάξει με ακέραιο στο κείμενο).

Ωστόσο, δίνοντας ... WHERE x.order_number = a.order_reference :: VARCHAR(255); λειτουργεί τέλεια.

Ποια είναι η λειτουργική διαφορά μεταξύ VARCHAR και κείμενο εδώ;

Δημοσιεύθηκε 24/10/2019 στις 12:54
πηγή χρήστη
Σε άλλες γλώσσες...                            

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