不同的數(shù)據(jù)庫,相應(yīng)的字符串拼接方式不同,通過對比加深一下記憶。
錫山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
一、MySQL字符串拼接
1、CONCAT函數(shù)
語法格式:CONCAT(char c1, char c2, ..., char cn) ,其中char代表字符串,定長與不定長均可以
連接兩個字符串
連接多個字符串
2、"+"操作符
連接兩個字符串
連接多個字符串
3、假如其中一個字段為NULL,則用結(jié)果用空格代替NULL。
二、Oracle字符串拼接
1、CONCAT函數(shù)
語法格式:CONCAT(char c1, char c2) ,其中char代表字符串,定長與不定長均可以
連接兩個字符串
連接多個字符串
使用CONCAT函數(shù)的嵌套實現(xiàn)。
2、"||"操作符
連接兩個字符串
連接多個字符串
3、假如其中一個字段為NULL,則用結(jié)果用空格代替NULL。
擴展資料
字符串函數(shù)(String processing function)也叫字符串處理函數(shù),指的是編程語言中用來進行字符串處理的函數(shù),如C,pascal,Visual以及LotusScript中進行字符串拷貝,計算長度,字符查找等的函數(shù)。
字符串主要用于編程,概念說明、函數(shù)解釋、用法詳述見正文,這里補充一點:字符串在存儲上類似字符數(shù)組,所以它每一位的單個元素都是可以提取的,如s=“abcdefghij”,則s[1]=“a”,s[10]="j"。
而字符串的零位正是它的長度,如s[0]=10(※上述功能Ansistring沒有。),這可以給我們提供很多方便,如高精度運算時每一位都可以轉(zhuǎn)化為數(shù)字存入數(shù)組。
字符串函數(shù)的應(yīng)用
1、連接運算 concat(s1,s2,s3…sn) 相當于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2、求子串。 Copy(s,I,I) 從字符串s中截取第I個字符開始后的長度為l的子串。
例:copy(‘a(chǎn)bdag’,2,3)=’bda’
3、刪除子串。過程 Delete(s,I,l) 從字符串s中刪除第I個字符開始后的長度為l的子串。
例:s:=’abcde’;delete(s,2,3);結(jié)果s:=’ae’
4、插入子串。 過程Insert(s1,s2,I) 把s1插入到s2的第I個位置
例:s:=abc;insert(‘12’,s,2);結(jié)果s:=’a12bc’
5、求字符串長度 length(s) 例:length(‘12abc’)=5
在ASP中 求字符串長度用 len(s)例: len("abc12")=5
6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個字符在s2中的位置,若不是子串,則返回0.
例:pos(‘a(chǎn)b’,’12abcd’)=3
7、字符的大寫轉(zhuǎn)換。Upcase(ch) 求字符ch的大寫體。
例:upcase(‘a(chǎn)’)=’A’
8、數(shù)值轉(zhuǎn)換為數(shù)串。 過程 Str(x,s) 把數(shù)值x化為數(shù)串s.
例:str(12345,s); 結(jié)果s=’12345’
9、數(shù)串轉(zhuǎn)換為數(shù)值。 過程val(s,x,I) 把數(shù)串s轉(zhuǎn)化為數(shù)值x,如果成功則I=0,不成功則I為無效字符的序數(shù),第三個參數(shù)也可不傳
例:val(‘1234’,x,I);結(jié)果 x:=1234
參考資料:百度百科?字符串函數(shù)的應(yīng)用
1、本地數(shù)據(jù)庫連接
Driver={MySQL};Server=localhost;Option=16834;Database=myDataBase;
2、遠程數(shù)據(jù)連接
Driver={MySQL};Server=myServerAddress;Option=131072;Stmt=;Database=myDataBase; User=myUsername;Password=myPassword;
mysql不能直接運行動態(tài)sql語句的,但是可以寫在存儲過程中,然后調(diào)用過程執(zhí)行,具體如下:
(1)定義存儲過程,示例CREATE?DEFINER=`root`@`localhost`?PROCEDURE?`query_extra_table(table_index?varchar(255)?);
BEGIN
SET?@sql?=?concat("select?*?from?tbl_order_",?table_index);
PREPARE?stmt?FROM?@sql;
EXECUTE?stmt;
END
(2)調(diào)用存儲過程:
CALL?query_extra_table('483')
使用concat函數(shù)
mysql select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233 |
+------------------------+
說明 : string1,string2代表字符串,concat函數(shù)在連接字符串的時候,只要其中一個是NULL,那么將返回NULL
結(jié)果:
說明:將多個字符串連接成一個字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)
GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str_val])
說明:
DISTINCT:去除重復(fù)值
expr [,expr ...]:一個或多個字段(或表達式)
ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]:根據(jù)字段或表達式進行排序,可多個
SEPARATOR str_val:分隔符(默認為英文逗號)
group_concat()函數(shù)在處理大數(shù)據(jù)的時候,會發(fā)現(xiàn)內(nèi)容被截取了
其實MYSQL內(nèi)部對這個是有設(shè)置的,默認不設(shè)置的長度是1024,如果我們需要更大,就需要手工去修改配置文件
mysql如何實現(xiàn)多行查詢結(jié)果合并成一行,mysql如何實現(xiàn)多行查詢結(jié)果合并成一行網(wǎng)站簡介信息
利用函數(shù):group_concat(),實現(xiàn)一個ID對應(yīng)多個名稱時,原本為多行數(shù)據(jù),把名稱合并成一行。
其完整語法:
GROUP_CONCAT(expr)
該函數(shù)返回帶有來自一個組的連接的非NULL值的字符串結(jié)果。其完整的語法如下所示:
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
mysql SELECT student_name,
- GROUP_CONCAT(test_score)
- FROM student
- GROUP BY student_name;
Or:
mysql SELECT student_name,
- GROUP_CONCAT(DISTINCT test_score
- ORDER BY test_score DESC SEPARATOR ' ')
- FROM student
- GROUP BY student_name;
在MySQL中,你可以獲取表達式組合的連接值。你可以使用DISTINCT刪去重復(fù)值。假若你希望多結(jié)果值進行排序,則應(yīng)該使用 ORDER BY子句。若要按相反順序排列,將 DESC (遞減) 關(guān)鍵詞添加到你要用ORDER BY 子句進行排序的列名稱中。默認順序為升序;可使用ASC將其明確指定。 SEPARATOR 后面跟隨應(yīng)該被插入結(jié)果的值中間的字符串值。默認為逗號 (‘,')。通過指定SEPARATOR '' ,你可以刪除所有分隔符。
使用group_concat_max_len系統(tǒng)變量,你可以設(shè)置允許的最大長度。 程序中進行這項操作的語法如下,其中 val 是一個無符號整數(shù):
SET [SESSION | GLOBAL] group_concat_max_len = val;