查询结果返回 ‘年龄’多少,表名 temp1

select (year(curdate())-year(birth)) from temp1;
当前日期-出生日期

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用以下的方法将某个SQL查询结果作为表名继续查询: 1. 使用函数游标(CURSOR)执行第一个查询,并将结果集存储在一个游标中。 2. 从游标中获取查询结果集中的每个表名,并将其存储在一个临时表中。 3. 使用临时表中的表名来构建查询语句,并将其执行。 以下是一个示例代码: ``` DECLARE @TableName VARCHAR(100) DECLARE @SQL VARCHAR(200) -- 创建一个临时表来存储查询结果集中的表名 CREATE TABLE #TempTable (TableName VARCHAR(100)) -- 使用函数游标执行第一个查询,并将结果集存储在游标中 DECLARE cur CURSOR FOR SELECT DISTINCT TableName FROM YourFirstQuery OPEN cur FETCH NEXT FROM cur INTO @TableName -- 从游标中获取查询结果集中的每个表名,并将其存储在临时表中 WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO #TempTable VALUES (@TableName) FETCH NEXT FROM cur INTO @TableName END CLOSE cur DEALLOCATE cur -- 使用临时表中的表名来构建查询语句,并将其执行 DECLARE cur2 CURSOR FOR SELECT TableName FROM #TempTable OPEN cur2 FETCH NEXT FROM cur2 INTO @TableName WHILE @@FETCH_STATUS = 0 BEGIN SET @SQL = 'SELECT * FROM ' + @TableName EXEC (@SQL) FETCH NEXT FROM cur2 INTO @TableName END CLOSE cur2 DEALLOCATE cur2 -- 删除临时表 DROP TABLE #TempTable ``` 请注意,使用动态SQL语句可能存在SQL注入攻击的风险。在使用此方法时,请务必对输入进行验证和过滤,以确保安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值