首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 字符串和日期拼接有关问题

2012-03-09 
SQL 字符串和日期拼接问题这样的字符串不知道怎么拼接才正确create table table_1 (a varcher(50) b datet

SQL 字符串和日期拼接问题
这样的字符串不知道怎么拼接才正确
  create table table_1 (a varcher(50) b datetime)  
  然后向表插入一天记录。
  decleare @aa varchar(50)
  declare @bb datetime
  declare @sqlstr varchar(1000)
  select @aa=a,@bb=b from table_1

  set @sqlstr=''
  请问 我该如何拼接才能把 'select @aa=a,@bb=b from table_1' 让EXEC @sqlstr 正确执行,这两个变量还有个是日期型的。

[解决办法]
给你一个拼接的例子:
if object_id('Class') is not null
drop table Class
Go
Create table Class(
[Student] nvarchar(2),
[Course] nvarchar(2),
[Score] int)
Insert Class
select N'张三',N'语文',78 union all
select N'张三',N'数学',87 union all
select N'张三',N'英语',82 union all
select N'张三',N'物理',90 union all
select N'李四',N'语文',65 union all
select N'李四',N'数学',77 union all
select N'李四',N'英语',65 union all
select N'李四',N'物理',85 
Go

--2000方法:
--动态:
declare @s nvarchar(4000)
set @s=''
Select @s=@s+','+quotename([Course])+'=max(case when [Course]='
 
+quotename([Course],'''')+' then [Score] else 0 end)'
from 
Class group by[Course]
--select @s
exec('select [Student]'+@s+' from Class group by [Student]')

自己参考一下
[解决办法]

探讨
这样的字符串不知道怎么拼接才正确
create table table_1 (a varcher(50) b datetime)
然后向表插入一天记录。
decleare @aa varchar(50)
declare @bb datetime
declare @sqlstr varchar(1000)
select @aa=a,……

[解决办法]
set @sqlstr='select a = ''' + @a + ''' , b = ''' + convert(varchar(20),@bb,120) + ''' from table_1' 

[解决办法]
SQL code
declare @str nvarchar(max)declare @aa varchar(50)declare @bb datetimeset @str = N'select @aa=a,@bb=b from table_1'exec sp_executesql @str,N'@aa varchar(50) output,@bb datetime output',@aa output,@bb outputselect @aa,@bb 

热点排行