oracle中sql語句如何動態拼接

時間 2021-09-07 04:08:50

1樓:龍氏風采

sql code

--在儲存過程裡面完成唄

--例:

create or replace procedure yyp_cwdh(table_name varchar)

isstr_sql varchar2(400):='';

begin

str_sql:='select * from '||table_name||' where 1=1';

execute immediate st……

2樓:請叫我召哥

因為'x'||to_char(sysdate,'dd')=『***x』這個條件不滿足,所以查詢不到資料。

'x'||to_char(sysdate,'dd')明顯不等於'***x',能查詢到資料就是怪事了。

如果你想查詢到資料,必須保證'x'||to_char(sysdate,'dd')的值等於'***x'

就拿今天來說'x'||to_char(sysdate,'dd')的值肯定是x24。

'***x'的值是為***x,不等於x24。肯定查詢不到資料。

你這個語句就跟

select name from a where 1>2這個語句的效果一樣。

如果你的***x表示你表中的一個欄位,比如x1,x2..x31,

如:select name from a where 'x'||to_char(sysdate,'dd')=x24;

你做關聯的是用你的欄位名,但是判斷取值的是時候,卻是取的x24這一列裡面的值。

如果x24這一列裡面有一列的值是x24,肯定查得出資料,如果沒有,肯定就查不出來,

你先確實有沒得x24這條資料記錄了來。。

3樓:射手幽靈伊

先定義一個串變數

c_sql := "select name from a where x"||to_char(sysdate,'dd') || " ='***x' "

oracle中sql語句中where子句可不可以動態新增

4樓:

不傳入,程式給個預設值

或者你根據 傳入引數 拼sql

5樓:學無止境分享無限

可以,執行的時候只執行給出的就可以

sql語句如何刪除列,SQL語句如何刪除列?

小丁創業 方法和詳細的操作步驟如下 1 第一步,開啟資料庫管理平臺軟體 sql server management studio 見下圖,轉到下面的步驟。2 第二步,執行完上面的操作之後,驗證身份並連線到資料庫 見下圖,轉到下面的步驟。3 第三步,執行完上面的操作之後,右鍵單擊 student 修改...

sql語句如何寫,sql語句如何寫

簡單的幾個 查詢 select 欄位 from 表名 where 條件增加 insert into 表名 values 欄位 欄位型別 修改 update 表名 set 欄位 多少 where 條件刪除 delete from 表名 where 條件還有什麼 alter啊什麼什麼的。還要看你用的什麼...

c中如何獲取實際執行的sql語句

1 拼接產生sql語句 string sql insert into czyb yhm,mm,qx values txtname.text txtpassword.text cmbpriority.text oledbcommand cmd new oledbcommand sql,conn 這種方...