应用场景是这样的,view中有一个来自某个函数的结果,函数返回的是varchar(max),但create view时,我只想要varchar(20)即可,能否指定? 例子如下,somefunction(t.C2)返回值为varchar(max),但我想让VTable的C2列类型为varchar(20):create view [dbo].[VTable]
as
select t.C1 as C1
,somefunction(t.C2) as C2
,t.C3 as C3
from TTable t
as
select t.C1 as C1
,somefunction(t.C2) as C2
,t.C3 as C3
from TTable t
as
select t.C1 as C1
,cast(dbo.somefunction(t.C2) as varchar(20)) as C2
,t.C3 as C3
from TTable t
as
select t.C1 as C1
,cast(dbo.somefunction(t.C2) as varchar(20)) as C2
,t.C3 as C3
from TTable t
但是用cast,CPU开销会不会太大啊?