CAST Empty Alias to Integer From Union Of 2 SQL in PostgreSQL












0















I have a SQL that running normally in MySQL. But since I was asked to change the database to PostgreSQL, the SQL cannot run normally. It's because datatype. Let's look the example:



SELECT A, B, C FROM tbl_first
UNION ALL
SELECT D, ' ', F FROM tbl_second


Let's say column B have a datatype as Integer. When I run on PostgreSQL, the notice say "invalid input syntax for integer: LINE 3: ' ',". Maybe my guess is right, this is due to the definition of ' ' column.



I always use CAST(COLUMN AS INTEGER) method to cast a column which string or character datatype to Integer. But in my case it always give me an error.



How best way to solve this? Thank's.










share|improve this question


















  • 1





    Why not use select d, null::integer, f from tbl_second instead?

    – a_horse_with_no_name
    Nov 22 '18 at 8:50













  • @a_horse_with_no_name thanks for the answer, your method is works too.

    – Ugy Astro
    Nov 22 '18 at 8:59
















0















I have a SQL that running normally in MySQL. But since I was asked to change the database to PostgreSQL, the SQL cannot run normally. It's because datatype. Let's look the example:



SELECT A, B, C FROM tbl_first
UNION ALL
SELECT D, ' ', F FROM tbl_second


Let's say column B have a datatype as Integer. When I run on PostgreSQL, the notice say "invalid input syntax for integer: LINE 3: ' ',". Maybe my guess is right, this is due to the definition of ' ' column.



I always use CAST(COLUMN AS INTEGER) method to cast a column which string or character datatype to Integer. But in my case it always give me an error.



How best way to solve this? Thank's.










share|improve this question


















  • 1





    Why not use select d, null::integer, f from tbl_second instead?

    – a_horse_with_no_name
    Nov 22 '18 at 8:50













  • @a_horse_with_no_name thanks for the answer, your method is works too.

    – Ugy Astro
    Nov 22 '18 at 8:59














0












0








0








I have a SQL that running normally in MySQL. But since I was asked to change the database to PostgreSQL, the SQL cannot run normally. It's because datatype. Let's look the example:



SELECT A, B, C FROM tbl_first
UNION ALL
SELECT D, ' ', F FROM tbl_second


Let's say column B have a datatype as Integer. When I run on PostgreSQL, the notice say "invalid input syntax for integer: LINE 3: ' ',". Maybe my guess is right, this is due to the definition of ' ' column.



I always use CAST(COLUMN AS INTEGER) method to cast a column which string or character datatype to Integer. But in my case it always give me an error.



How best way to solve this? Thank's.










share|improve this question














I have a SQL that running normally in MySQL. But since I was asked to change the database to PostgreSQL, the SQL cannot run normally. It's because datatype. Let's look the example:



SELECT A, B, C FROM tbl_first
UNION ALL
SELECT D, ' ', F FROM tbl_second


Let's say column B have a datatype as Integer. When I run on PostgreSQL, the notice say "invalid input syntax for integer: LINE 3: ' ',". Maybe my guess is right, this is due to the definition of ' ' column.



I always use CAST(COLUMN AS INTEGER) method to cast a column which string or character datatype to Integer. But in my case it always give me an error.



How best way to solve this? Thank's.







postgresql






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 '18 at 8:40









Ugy AstroUgy Astro

94112




94112








  • 1





    Why not use select d, null::integer, f from tbl_second instead?

    – a_horse_with_no_name
    Nov 22 '18 at 8:50













  • @a_horse_with_no_name thanks for the answer, your method is works too.

    – Ugy Astro
    Nov 22 '18 at 8:59














  • 1





    Why not use select d, null::integer, f from tbl_second instead?

    – a_horse_with_no_name
    Nov 22 '18 at 8:50













  • @a_horse_with_no_name thanks for the answer, your method is works too.

    – Ugy Astro
    Nov 22 '18 at 8:59








1




1





Why not use select d, null::integer, f from tbl_second instead?

– a_horse_with_no_name
Nov 22 '18 at 8:50







Why not use select d, null::integer, f from tbl_second instead?

– a_horse_with_no_name
Nov 22 '18 at 8:50















@a_horse_with_no_name thanks for the answer, your method is works too.

– Ugy Astro
Nov 22 '18 at 8:59





@a_horse_with_no_name thanks for the answer, your method is works too.

– Ugy Astro
Nov 22 '18 at 8:59












1 Answer
1






active

oldest

votes


















1














You need to cast column B to text:



SELECT A, B::text, C FROM tbl_first
UNION ALL
SELECT D, ' ', F FROM tbl_second


In a union query, all columns in the same position usually need to have the same type.






share|improve this answer
























  • Yes, union need all colums in the same type, I'm new about postgresql, and don't know how to cast. Thank's for the answer. It's work!

    – Ugy Astro
    Nov 22 '18 at 8:58











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53426867%2fcast-empty-alias-to-integer-from-union-of-2-sql-in-postgresql%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














You need to cast column B to text:



SELECT A, B::text, C FROM tbl_first
UNION ALL
SELECT D, ' ', F FROM tbl_second


In a union query, all columns in the same position usually need to have the same type.






share|improve this answer
























  • Yes, union need all colums in the same type, I'm new about postgresql, and don't know how to cast. Thank's for the answer. It's work!

    – Ugy Astro
    Nov 22 '18 at 8:58
















1














You need to cast column B to text:



SELECT A, B::text, C FROM tbl_first
UNION ALL
SELECT D, ' ', F FROM tbl_second


In a union query, all columns in the same position usually need to have the same type.






share|improve this answer
























  • Yes, union need all colums in the same type, I'm new about postgresql, and don't know how to cast. Thank's for the answer. It's work!

    – Ugy Astro
    Nov 22 '18 at 8:58














1












1








1







You need to cast column B to text:



SELECT A, B::text, C FROM tbl_first
UNION ALL
SELECT D, ' ', F FROM tbl_second


In a union query, all columns in the same position usually need to have the same type.






share|improve this answer













You need to cast column B to text:



SELECT A, B::text, C FROM tbl_first
UNION ALL
SELECT D, ' ', F FROM tbl_second


In a union query, all columns in the same position usually need to have the same type.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 22 '18 at 8:43









Tim BiegeleisenTim Biegeleisen

228k1395147




228k1395147













  • Yes, union need all colums in the same type, I'm new about postgresql, and don't know how to cast. Thank's for the answer. It's work!

    – Ugy Astro
    Nov 22 '18 at 8:58



















  • Yes, union need all colums in the same type, I'm new about postgresql, and don't know how to cast. Thank's for the answer. It's work!

    – Ugy Astro
    Nov 22 '18 at 8:58

















Yes, union need all colums in the same type, I'm new about postgresql, and don't know how to cast. Thank's for the answer. It's work!

– Ugy Astro
Nov 22 '18 at 8:58





Yes, union need all colums in the same type, I'm new about postgresql, and don't know how to cast. Thank's for the answer. It's work!

– Ugy Astro
Nov 22 '18 at 8:58




















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53426867%2fcast-empty-alias-to-integer-from-union-of-2-sql-in-postgresql%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

MongoDB - Not Authorized To Execute Command

How to fix TextFormField cause rebuild widget in Flutter

in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith