當前位置:首頁 » 編程語言 » 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