当前位置:首页 » 编程语言 » sql定义列名变量
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql定义列名变量

发布时间: 2022-07-17 04:26:19

sql语句中的列名怎么才能用变量代替,请看详情

用sp_executesql执行,sp_executesql的用法参考:
EXECUTE sp_executesql @strSql,N'@nCount int out,@TickTypeId int,@StartTickId int,@EndtickId int',
@nCount out ,@TickTypeId,@StartTickId,@EndtickId
把你的列名放组合后得到@strSql字符串

② SQL 查询语句如何定义变量

as在SQL中是别名的用法,它可以为表名取别名,也可以为列名取别名,

其作用主要是为了增加可读性。

③ 在SQL把变量名变为列名

你需要使用动态SQL
把你要执行的语句变为字符串变量进行拼接
然后运行exec 字符串变量即可;

例子:
declare @aa int
declare @sql varchar(1000)
set @aa='101'
while(@aa>108)
begin
select @sql='update xgxred set a'+@aa+'=@get_amount where subjectid_xgx=@titleid '
SET @aa=@aa_1
end

④ SQL查询怎么用变量重命名列名

declare @a varchar(20)
set @a='20191211'
Exec ('SELECT buy_date AS "' + @a + '" FROM T1')

⑤ 如何将sql server 中的字段名定义为变量

不可以,列名、表名都不能用变量,可以通过拼接字符,然后用exec来执行 如,exec('update tb set '+列名变量+'='''+字符类的变量值+''' where 条件')

⑥ sql中的变量定义

你的用法有错误,变量不能这样使用的,
as在SQL中是别名的用法,它可以为表名取别名,也可以为列名取别名,
其作用主要是为了增加可读性。
示例:为列取别名的两种写法
1、字段名 as 别名 注:as 也可以省略

select id as 编号,name as 姓名 from table1

这句也可以写成:

select id 编号,name 姓名 from table1

2、用等号来使用别名

select 编号=id,姓名=name from table1

其效果和前两个语句一样

示例2:为表名取别名的用法

select a.id 编号,name 姓名 from table1 as a join table2 as b on a.id=b.id

其中as 也可以省略。

⑦ SQL 查询语句如何定义变量

as在SQL中是别名的用法,它可以为表名取别名,也可以为列名取别名,

其作用主要是为了增加可读性。

⑧ 用SQL向以变量定义列名的表中插入数据时,怎么取得列名

很简单,所有列名都不写就行了。
insert into #xsmx1
select customer,month1_quantity,month2_quantity,month3_quantity,
avg_quantity,wait_quantity from #xsmx

如果非要写列名,用拼接sql的方法吧,
exec('insert into #xsmx1 (客户名称,['+@month1+'],['+@month2+'],本月已发,月平均用量,本月待发量) select customer,month1_quantity,month2_quantity,month3_quantity,
avg_quantity,wait_quantity from #xsmx')

⑨ 求教sql server 可以把列名当做变量吗

不可以,列名、表名都不能用变量,可以通过拼接字符,然后用exec来执行
如,exec('update tb set '+列名变量+'='''+字符类的变量值+''' where 条件')

⑩ SQL Server 2005存储过程分页排序设置列名为变量

用字符串的方式来做,先生成查询字符串,然后执行
/*******************************************************************************
Author : Richard.Cai
CreateDate : 2008-12-22
UpdateDate : 2008-12-25
Amendment History:
Update by $$$$$$$$$$$ 2008/12/25 : Alter content.
*******************************************************************************/

ALTER PROCEDURE [dbo].[USP_AT_MR_SearchClient]
(
@PageSize INT = 10 --The size per page
,@PageStart INT = 0 --The page start,not contain this no..
,@WhereStr NVARCHAR(MAX) = '' --For example:' AND ClientName like '%AS%''
,@DebugFlag BIT = 0
)
AS
DECLARE @TableName NVARCHAR(255) --Only a table name
DECLARE @FieldName NVARCHAR(255) --Field name that data is unique.
DECLARE @sSQL NVARCHAR(MAX)
DECLARE @sTMP NVARCHAR(MAX)
DECLARE @sOrderBy NVARCHAR(255)

/*Generate Paging Data*/
SELECT @sSQL=N'SELECT '+CHAR(13)
+N' ROW_NUMBER() OVER(ORDER BY SysID) AS PageID '+CHAR(13)
+N' ,Client_id As ClientCode '+CHAR(13)
+N' ,CAST(RTRIM(Client_e) AS NVARCHAR(50)) As ClientName '+CHAR(13)
+N' ,CAST(RTRIM(Client_c) AS NVARCHAR(50)) As ClientNameLocal '+CHAR(13)
+N'INTO #Client '+CHAR(13)
+N'FROM Client '+CHAR(13)
+N'WHERE 1 = 1 ' + @WhereStr +CHAR(13)
+N' '+CHAR(13)
+N'SELECT * FROM #Client '+CHAR(13)
+N'WHERE PageID > ' + RTRIM(@PageStart) + ' AND PageID <= ' + RTRIM(@PageStart+@PageSize)+CHAR(13)
+N' '
+N'SELECT COUNT(*) As TotalCount FROM #Client'

IF @DebugFlag = 1
PRINT '/*Paging SQL:*/'+CHAR(13)+@sSQL

EXEC SP_EXECUTESQL @sSQL