Каково ожидаемое поведение из-за SQL Standard, когда мы выполняем UNION
для двух таблиц с разными типами данных:
create table "tab1" ("c1" varchar(max));
create table "tab2" ("c3" integer);
insert into tab1 values(N'asd'), (N'qweqwe');
insert into tab2 values(123), (345);
select
c_newname as myname
from
(
select "c1" as c_newname from "tab1"
union all
select "c3" from "tab2"
) as T_UNI;
MS SQL Server
дает
Ошибка преобразования при преобразовании значения varchar asd в тип данных int.
а что определено в стандарте?