Ⅰ vs是怎麼獲取sql語句中的參數名稱
你好。
SQL Server 的參數標識符是「@」,所以,SQL語句中,在字元串以外的以「@」開頭的都被視為參數。
雖然不是很明白你的目的是什麼,但是,你要實現這種功能的話,你可以嘗試一下自己設置一個參數標識符(如「#」),然後自己創建一個數據字典,再自己寫一個SQL解析器。
如果我的回答沒能幫助您,請繼續追問。
Ⅱ SQL函數提取的值怎麼做數據集參數
switch是access資料庫中的函數,在sql中一般用case……when表示。
如數據如下,其中性別為1代表男,性別為2代表女,現在要求顯示男女,不顯示1,2:
姓名 性別
張三 1
李四 2
王五 1
趙六 2
執行語句:
1
select 姓名,case when 性別=1 then '男' when 性別=2 then '女' end as 性別 from 表名;
顯示結果為:
姓名 性別
張三 男
李四 女
王五 男
趙六 女
Ⅲ sql語句中的參數提取
不會 啊
Ⅳ 怎樣用SQL調用以下function,用一個SELECT語句提取到function的輸入信息 並作為參數傳入function中
帶out參數的函數無法直接用select語句完成,只含IN參數的是可以直接select function(param1,param2) from al;以這種形式輸出。帶有out的需要用語句塊,或exec方式輸出。
如這里:
IN參數為null時:
declare
v_sum number;
begin
v_sum:=system.GET_BSUM(null,null,v_sum);
dbms_output.put_line(v_sum);
end;
/
結果:
-2
PL/SQL 過程已成功完成
IN參數不為null時:
SQL> declare
2 v_sno TABLE_A.SNO%TYPE;
3 v_dt TABLE_A.DT%TYPE;
4 v_sum TABLE_A.SUM%TYPE;
5 begin
6 select sno,dt into v_sno,v_dt from system.TABLE_A
7 where sno=1 and dt<=to_date('20131010','yyyymmdd');
8 v_sum:=system.GET_BSUM(v_sno,v_dt,v_sum);
9 dbms_output.put_line(v_sum);
10 end;
11 /
希望對你有幫助,望採納。
Ⅳ SQL語句中有沒有指定要查詢的資料庫的有的話怎麼用java程序把這個資料庫作為參數提取出來
不管你是用JDBC連接資料庫,還是用hibernate還是ibatis,還是神碼其他的高端技術,在執行sql之前,都是要配置好數據源的,即你要查詢的資料庫的信息,比如url,用戶名,密碼等等,然後才能執行sql。
Ⅵ c#如何獲取sql語句中@後面的參數名,
sql語句的執行是在資料庫端判定的,所以.net沒有提供獲取的方法。
首先,依照你的需求,計算你取到了@後面的名字,你也不會知道@後面參數的名字是什麼類型的,一樣會有問題。還有特殊類型中還需要指定長度參數,例如varchar,nvarchar等;
因為sql語句是一個字元串,所以獲取的唯一方法就是使用正則。
var pattern = @"@(\S+)";
然後用Match.Result("$1") 循環獲取每一個捕獲組的數就行了
Ⅶ sql 提取第一個字元
sql怎樣提取第一個字元的方法用到的是substring() 方法用於提取字元串中介於兩個指定下標之間的字元。
返回值
一個新的字元串,該字元串值包含stringObject的一個子字元串,其內容是從start處到stop-1 處的所有字元,其長度為stop減start。
2.說明
substring() 方法返回的子串包括start處的字元,但不包括stop處的字元。
如果參數start與stop相等,那麼該方法返回的就是一個空串(即長度為 0 的字元串)。如果start比stop大,那麼該方法在提取子串之前會先交換這兩個參數。
Ⅷ SQL語句如何取出一個欄位中值
oracle用substr(原字元串,起始位置,[截取長度])和instr(原字元串,查找字元串,[起始位置],[第n個])函數,[]內的是可選參數
mysql用substring和instr()函數
大概思路是截取原字元串,從(開始,到)結束,
用instr定位(和),用substr截取
比如原字元串在變數str中
以oracle為例:substr(str,instr(str,'('),instr(str,')')-instr(str,'('))
Ⅸ SQL取欄位中某一部分特定數值
如果只是固定取"20/30"比較容易, 只需找到"20/30"在此字元串的開始位置,再截取5個字元的長度就可以了,如:
SELECT CASE WHEN CHARINDEX('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg', '20/30') > 0 THEN SUBSTRING('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg', CHARINDEX('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg', '20/30'),5) ELSE '' END
如果不一定是20/30,而是與"/"前後關聯的數字(eg: 14/20, 33/66,等...),就麻煩了,你可能需要寫一個抽取字元串的函數,如: f_substr(),然後在SQL里調用:
select 用戶.f_substr('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg')