小記:
初次接手中心的工作,由於項目需要進行改造升級,也因爲要將項目使用的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;
要重新開始持續小記錄了。
去年剛畢業,就被派到遼寧出差,從此開啓顛倒晝夜的加班生活。
作爲小小的程序媛妹子,要學習的還有好多好多,要重新拾起記錄的習慣了。
加油加油