有關oracle與mysql轉換之字符串連接符'||'及連接函數concat()

小記:

初次接手中心的工作,由於項目需要進行改造升級,也因爲要將項目使用的oracle庫改成使用mysql庫,所有的配置sql都要改造,也就有了改造sql的過程中遇到的問題。

剛開始上手時,一個sql搞半天,也改不成功。畢竟sql不僅涉及到sql語法,還有業務知識。

歸根結底,還是要學習oracle和mysql,以及儘快熟悉業務

正文:

oracle

select '你好' || ',' || cust_name from  customer where cust_id = '123';

|| 這個連接符在oracle語法中表示將各個字符連接成字符串。

mysql

select concat('你好' , ',' , cust_name) from  customer where cust_id = '123';

mysql中concat(str1,str2,str3,…)函數,函數內部多個字符以逗號分隔,可以實現和 || 基本一樣的功能,唯一的不同點在於,|| 可以無視NULL,但是concat()函數,只要有一個值是NULL,就返回NULL

舉例:

oracle中||

  select '你好啊' || NULL || ',小明' from dual;

執行結果:
在這裏插入圖片描述
mysql中concat()函數

  select '你好啊' || NULL || ',小明' VALUE;

執行結果:
在這裏插入圖片描述

重點:

CONCAT(str1, str2, str3,…)中只要出現了NULL,返回的就是NULL一定要注意哈!!!

擴展:
mysql中,當連接的字符要以固定的字符,比如逗號分隔時,還有一個比CONCAT(str1, str2, str3,…)更好用的函數,就是CONCAT_WS(‘分隔符’,str1, str2, str3,…),其中第一個參數是要分隔的字符

舉個栗子:

SELECT CONCAT_WS(',','你好','小明','小紅','小花') value;

在這裏插入圖片描述

要重新開始持續小記錄了。

去年剛畢業,就被派到遼寧出差,從此開啓顛倒晝夜的加班生活。

作爲小小的程序媛妹子,要學習的還有好多好多,要重新拾起記錄的習慣了。

加油加油

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章