以下语句在执行的时候没有返回结果,我想问一下变量放在字符串中连接的时候引号究竟怎么打,打多少个?
A表 B表
ID, Filldate ID Name
1 2009-09-01 1 jack
2 2009-09-03 2 lily
3 2009-09-04 3 Rita
declare @Filldate varchar(10),@subsql varchar(5000)
Set @subsql = ' select '''+@Filldate+'''=convert(varchar(10),Min(A.Filldate)120)
from A(nolock),B(nolock) where A.ID=B.ID '
Print (@subsql);
Exec (@subsql)---执行后提示执行成功,但是没有显示任务结果
A表 B表
ID, Filldate ID Name
1 2009-09-01 1 jack
2 2009-09-03 2 lily
3 2009-09-04 3 Rita
declare @Filldate varchar(10),@subsql varchar(5000)
Set @subsql = ' select '''+@Filldate+'''=convert(varchar(10),Min(A.Filldate)120)
from A(nolock),B(nolock) where A.ID=B.ID '
Print (@subsql);
Exec (@subsql)---执行后提示执行成功,但是没有显示任务结果
Set @subsql = ' select '''+@Filldate+'''=convert(varchar(10),Min(A.Filldate),--少了逗号120)
from A(nolock),B(nolock) where A.ID=B.ID '
Print (@subsql);
Exec (@subsql)
from nolock A,nolock B where A.ID=B.ID '
Set @subsql = ' select '''+@Filldate+'''=convert(varchar(10),Min(A.Filldate),120)
from A(nolock),B(nolock) where A.ID=B.ID '
Print (@subsql);
Exec (@subsql)convert(varchar(10,mn(a.filldate),120)--注意这个
SET @Filldate='字段名'
Set @subsql = ' select ['+@Filldate+']=convert(varchar(10),Min(A.Filldate),120)
from A(nolock),B(nolock) where A.ID=B.ID '
Print (@subsql);
declare @Filldate varchar(10),@subsql varchar(5000)
set @Filldate = 'a'
Set @subsql = ' select '''+@Filldate+'''=convert(varchar(10),Min(A.Filldate)120) ,
from A(nolock),B(nolock) where A.ID=B.ID '
Print @subsql select 'a'=convert(varchar(10),Min(A.Filldate)120) ,
from A(nolock),B(nolock) where A.ID=B.ID
----------------------------------------------------------------
-- Author :fredrickhu(小F,向高手学习)
-- Date :2009-09-11 22:33:17
-- Version:
-- Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
-- Nov 24 2008 13:01:59
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
--
----------------------------------------------------------------
--> 测试数据:[A]
if object_id('[A]') is not null drop table [A]
go
create table [A]([ID] int,[Filldate] datetime)
insert [A]
select 1,'2009-09-01' union all
select 2,'2009-09-03' union all
select 3,'2009-09-04'
--> 测试数据:[B]
if object_id('[B]') is not null drop table [B]
go
create table [B]([ID] int,[Name] varchar(4))
insert [B]
select 1,'jack' union all
select 2,'lily' union all
select 3,'Rita'
--------------开始查询--------------------------
declare @Filldate varchar(10),@subsql varchar(5000)
set @filldate='name'
Set @subsql = ' select '''+@Filldate+'''=convert(varchar(10),Min(A.Filldate),120)
from A(nolock),B(nolock) where A.ID=B.ID '
--Print (@subsql);
Exec (@subsql)
----------------结果----------------------------
/* name
----------
2009-09-01(1 行受影响)*/