1. sql怎麼拼接字元串
不同的資料庫,相應的字元串拼接方式不同,通過對比加深一下記憶。
一、MySQL字元串拼接
1、CONCAT函數
語法格式:CONCAT(char c1, char c2, ..., char cn) ,其中char代表字元串,定長與不定長均可以
連接兩個字元串
(1)sql拼接字元串擴展閱讀
字元串函數(String processing function)也叫字元串處理函數,指的是編程語言中用來進行字元串處理的函數,如C,pascal,Visual以及LotusScript中進行字元串拷貝,計算長度,字元查找等的函數。
字元串主要用於編程,概念說明、函數解釋、用法詳述見正文,這里補充一點:字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「a」,s[10]="j"。
而字元串的零位正是它的長度,如s[0]=10(※上述功能Ansistring沒有。),這可以給我們提供很多方便,如高精度運算時每一位都可以轉化為數字存入數組。
字元串函數的應用
1、連接運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn.
例:concat(『11』,'aa』)='11aa』;
2、求子串。 Copy(s,I,I) 從字元串s中截取第I個字元開始後的長度為l的子串。
例:(『abdag』,2,3)=』bda』
3、刪除子串。過程 Delete(s,I,l) 從字元串s中刪除第I個字元開始後的長度為l的子串。
例:s:=』abcde』;delete(s,2,3);結果s:=』ae』
4、插入子串。 過程Insert(s1,s2,I) 把s1插入到s2的第I個位置
例:s:=abc;insert(『12』,s,2);結果s:=』a12bc』
5、求字元串長度 length(s) 例:length(『12abc』)=5
在ASP中 求字元串長度用 len(s)例: len("abc12")=5
6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個字元在s2中的位置,若不是子串,則返回0.
例:pos(『ab』,』12abcd』)=3
7、字元的大寫轉換。Upcase(ch) 求字元ch的大寫體。
例:upcase(『a』)=』A』
8、數值轉換為數串。 過程 Str(x,s) 把數值x化為數串s.
例:str(12345,s); 結果s=』12345』
9、數串轉換為數值。 過程val(s,x,I) 把數串s轉化為數值x,如果成功則I=0,不成功則I為無效字元的序數,第三個參數也可不傳
例:val(『1234』,x,I);結果 x:=1234
2. sql字元串拼接
DECLARE@IPNvarchar(50)
SET@IP='127.0.0.1'
EXECMaster..xp_cmdShell'ping''+@IP+''-n2'
3. sql查詢語句怎麼拼接字元串
--1、在where的地方可以用case
select*
from表1
where欄位1=casewhen@欄位1>0then@欄位1end
--2、或者在賦值的時候做判斷用4個參數,你可以根據下面的寫法自己修改
@欄位1,@欄位2,@欄位3,@欄位
if@欄位1>0
begin
select@欄位=@欄位1
select*
from表1
where欄位1=@欄位
end
ifif@欄位1<0and@@欄位2>0
begin
select@欄位=@欄位2
select*
from表1
where欄位1=@欄位
end
4. SQL中的連接字元串怎麼拼接
SQL字元串拼接直接用+ 號
如下列SQL
聲明變數
declare @T nvarchar(50)
declare @T1 nvarchar(50)
set @T='12434'
set @T1='abc'
下面是拼接字元串SQL:
select @T+@T1
結果:12434abc
如果是別的類型,用convert 函數直接轉換
如 convert(varchar,'需要轉換的數據')
5. Sql拼接字元串
sql
=
"select
*
from"
&
mc
'怎麼拼對嗎?
這個是正確的。
set
rs
=
Conn.execute("select
*
from
&
mc")
『怎麼拼接對嗎?
這個是不對的。這個裡面的
sql語句
建議賦值給一個變數,然後直接調用變數,當然也可以這么寫,不過要注意格式:set
rs
=
Conn.execute("select
*
from
"&
mc)應該是這個樣子的,不知道有沒有記錯,你試試看。
6. SQL如何實踐字元串拼接:
--建表
createtableM
(
idint,
dictvarchar(10)
)
CreateTableN
(
billnoint,
dictdocvarchar(100)
)
--插入數據
insertintoMvalues(1,'A')
insertintoMvalues(2,'B')
insertintoMvalues(3,'C')
insertintoMvalues(4,'D')
insertintoNvalues(1,'1,2,3')
insertintoNvalues(2,'2,3')
insertintoNvalues(3,'1,2,3,4')
--創建函數
CreateFunctionfn_myStr(@StrVarchar(8000))
returnsVarchar(8000)
As
Begin
Declare@RStVarchar(8000)=@Str
Select@RSt=replace(@RSt,id,dict)
FromM
Return@RSt
End
--查詢
Select*fromM
selectbillno,dbo.fn_myStr(dictdoc)AsdictdocfromN
7. sql查詢字元串拼接
拼串的時候用char(39) 代替單引號,char(37)代替%
SET @sql = 'SELECT * FROM authors WHERE address LIKE '+char(39)+char(37)+@str+char(37)+char(39)
8. sql語句怎麼將多個查詢結果拼接字元串
第一種應該是正確的,第二種是錯誤的(前提是cname列是字元串類型)。sql標准里通常要求字元串類型的值兩邊加單引號。
9. SQL中字元串的連接
在MYSQL中字元串連接使用的是concat內置函數。
CONCAT() 的語法如下:
CONCAT(字串1, 字串2, 字串3, ...): 將字串1、字串2、字串3,等字串連在一起。
請注意,Oracle的CONCAT()只允許兩個參數;
換言之,一次只能將兩個字串串連起來,不過,在Oracle中,可以用'||'來一次串連多個字串。
(9)sql拼接字元串擴展閱讀:
注意:
如果所有參數均為非二進制字元串,則結果為非二進制字元串。
如果自變數中含有任一二進制字元串,則結果為一個二進制字元串。
一個數字參數被轉化為與之相等的二進制字元串格式;若要避免這種情況,可使用顯式類型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
10. sql語句中的字元串連接
那要看你使用的是什麼樣的SQL系統,如果使用的是標準的SQL,一般可以這樣寫:
update
char
set
name=concat(name,"abc")
where
id=1;
這里要注意的是:concat是標準的字元串連接函數,你要保證你name屬性的數據類型是字元串型的,還有,根據你使用的系統,決定引用字元串時是使用單引號還是雙引號;如果你使用的系統是MySQL,MSSQL或者其他的SQL,一般還有對應的更加簡潔的表達式。
還有,在有的SQL系統里,你上面的表達式是可以使用的,只需把單引號換雙引號即可。
答案補充
你用我給你些的標准SQL的代碼,絕對沒有錯,我剛才PHPMYADMIN上執行了的,沒有問題。如果你不信的話我可以發圖。