sql拼接字段进行查询的问题

老杨_sz 2011-06-03 09:20:05
select Month6 from 表A

根据当前时间的月份动态拼接Month6字段,
select convert(varchar,DATEPART(m,getdate())) --查询到当前时间的月份

如何根据上面查询到的月份拼接成字段Month6?
...全文
268 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
老杨_sz 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 maco_wang 的回复:]
SQL code
select 'select month'+ltrim(month(getdate()))+' from 表A'
/*
select month6 from 表A
*/
exec('select month'+ltrim(month(getdate()))+' from 表A')

修正一下
[/Quote]




在查询分析器执行exec(......),报错:
------------
消息 102,级别 15,状态 1,第 1 行
'LTRIM' 附近有语法错误。
老杨_sz 2011-06-03
  • 打赏
  • 举报
回复
不使用存储过程,直接写SQL语句进行查询,可以返回查询结果吗?
叶子 2011-06-03
  • 打赏
  • 举报
回复
select 'select month'+ltrim(month(getdate()))+' from 表A'
/*
select month6 from 表A
*/
exec('select month'+ltrim(month(getdate()))+' from 表A')

修正一下
叶子 2011-06-03
  • 打赏
  • 举报
回复

select 'select month'+ltrim(month(getdate()))+' from 表A'
/*
select month6 from 表A
*/
exec('select '+ltrim(month(getdate()))+' from 表A')
hanger1212 2011-06-03
  • 打赏
  • 举报
回复
如果只是返回月的话 是
DATEPART(mm,date)
君_洛洛 2011-06-03
  • 打赏
  • 举报
回复
DECLARE @S NVARCHAR(4000)
SET @S='select Month'+convert(varchar,DATEPART(m,getdate()))+' from 表A'
EXEC(@S)

打一壶酱油 2011-06-03
  • 打赏
  • 举报
回复
 动态sql

exec('select month'+ltrim(month(getdate()))+' from 表A')
君_洛洛 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ihq2008 的回复:]
引用 4 楼 maco_wang 的回复:
SQL code
select 'select month'+ltrim(month(getdate()))+' from 表A'
/*
select month6 from 表A
*/
exec('select month'+ltrim(month(getdate()))+' from 表A')

修正一下

执行下面的语句,出现最……
[/Quote]
1楼有试了吗,把拼接的SQL语句放外面最后再EXEC不会错
老杨_sz 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 maco_wang 的回复:]
SQL code
select 'select month'+ltrim(month(getdate()))+' from 表A'
/*
select month6 from 表A
*/
exec('select month'+ltrim(month(getdate()))+' from 表A')

修正一下
[/Quote]
执行下面的语句,出现最下面的错误。
exec('select month'+ltrim(month(getdate()))+' from 表A')

'ltrim' 附近有语法错误。
zy35147972122 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 maco_wang 的回复:]
SQL code
select 'select month'+ltrim(month(getdate()))+' from 表A'
/*
select month6 from 表A
*/
exec('select month'+ltrim(month(getdate()))+' from 表A')

修正一下
[/Quote]
exec的作用是就是执行你拼接的sql语句啊
drysea 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ihq2008 的回复:]

不使用存储过程,直接写SQL语句进行查询,可以返回查询结果吗?
[/Quote]

可以啊,前面不都是嘛~
君_洛洛 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ihq2008 的回复:]
不使用存储过程,直接写SQL语句进行查询,可以返回查询结果吗?
[/Quote]
不行

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧