㈠ sql語句(欄位裡面不能用變數嗎)
sql語句不能直接使用變數。
存儲過程中可以使用變數,調用存儲過程時傳遞變數,由資料庫將變數替換為實際值並執行得到結果。
㈡ 在SQL查詢語句中,如果where字句和欄位名都需要使用變數,如何操作
先拿文本拼出個串然後執行 貌似下列語句
exec ('select * from pc')
㈢ SQL 查詢語句如何定義變數
as在SQL中是別名的用法,它可以為表名取別名,也可以為列名取別名,
其作用主要是為了增加可讀性。
㈣ 如何在sql語句中使用變數作為資料庫的欄位名
使用動態SQL
DECLARE@sqlStrvarchar(max)
DECLARE@fieldNamevarchar(20)
SET@fieldName='ProctNumber'
SET@sqlStr='SELECT'+@fieldName+'FROMProction.Proct'
EXEC(@sqlStr)
㈤ 如何將sql server 中的欄位名定義為變數
不可以,列名、表名都不能用變數,可以通過拼接字元,然後用exec來執行 如,exec('update tb set '+列名變數+'='''+字元類的變數值+''' where 條件')
㈥ FoxPro中的SQL語句欄位名,可以用變數代替嗎
當然可以了.具體怎麼弄看實際情況, 有的直接將變數加到字元串中間, 有的用宏替換
㈦ 在SQL里,如何用變數代替欄位名進行更新
舉個最簡單的例子,剩下的自己悟吧。
假設你的表名為Table:
declare @SQL_Text varchar(1000),@txt varchar(50)
set @txt = \'abc\'
set @SQL_Text = \'select * from Table where \'+abc+\'=0\'
exec(@SQL_Text)
以上是存儲過程里的寫法,在ASP里可以這樣的:
ttt=\"abc\"
response.write(rs(ttt))
像你的這種情況,只要把
UPDATE XX
SET @NAME1=@ROWS2-@ROWS1
WHERE 時間=@T
改成:
exec('update XX set'+@name1+'='+@ROWS2+'-'+@ROWS1+' where 時間='+@t)
就可以了
㈧ Update表時欄位名是變數,怎麼寫SQL語句
string ls_sql
string ls_data //假設要獲取數據的列的類型為char,其他類型則定義相應的變數類型
ls_sql = "select " + ls_updatefield + " from " + ls_tablename + " where aac001 = " + string(bh_read)
declare lc dynamic cursor for sqlsa;
prepare sqlsa from :ls_sql using sqlca;
open dynamic lc;
if sqlca.sqlcode = -1 then
messagebox('', '出錯了')
return
end if
fetch lc into :ls_data; //獲取數據
if sqlca.sqlcode = -1 then
messagebox('', '出錯了')
return
end if
close lc;