寫在分割線之前,個人以為,資料庫應該具備簡單的的資料加工能力。如同食品在吃之前,是要經過很多到工序的,有經過初加工、粗加工、精加工、深加工等。那麼mysql也應該並必須擔任起資料初加工以及粗加工的責任。不能讓所有資料處理的工作都交給php去做。這樣不僅使程式冗餘而且效率底下。
可能有的朋友會擔心mysql的效能不行,資料處理的任務分隔到mysql上會使mysql的壓力增大。私以為這是不足擔心的,mysql雖然效能不高,但足以支援中小規模的公司使用。
2、concat(),當拼接的值之間有乙個為空,拼接的所有值也為空。
3、concat_ws('連線字元',欄位1,欄位2,欄位n);
這個函式,我自己的使用頻率是非常高的,替我輕鬆的解決了很多問題,省略了很多foreach的語句。
4、repeat 這個函式相當於php裡面的str_repeat函式。
5、locate函式。找到某個字元在另乙個字串中的位置。相當與php中的strpos 。
這個函式用處也不少。知道了某個字元的位置後,就可以直接在程式中使用分隔字串,只輸出自己想要的內容。省了使用explode函式了。
7、find_in_set('str','strlist').其中str是乙個字串,strlist是乙個字串列表,中間用逗號分隔開。
trim 在php中用到的比較多,幾乎很少在mysql中用到。但是有的時候,如果可以使用mysql的函式,能夠極大的提高工作效率。
如果我們想要祛除字元左邊的空格。(如id=1)。可以進行如下操作。
select
ltrim(test) new from test_trim where id =
1;可能結果會看起來不明顯,用這兩個語句對比看起來會比較明顯.
select length(test) new from test_trim where id =1;如果想要祛除右邊字元的空格,(id=2).和祛除左邊的空格一樣,用rtrim 就行了。select length(ltrim(test)) new from test_trim where id =
1;
如果我想祛除id=3左邊的下劃線,想要祛除id=4右邊的下劃線怎麼辦。可以指定兩個關鍵字來進行祛除字元或者字串。
leading 在前的。
trailing 拖尾的,後面的。
both 兩端的。
具體用法如下。
祛除左邊的字元或字串。
祛除右邊的字元或字串。
祛除兩端的字元或者字串
9、 group_concat 函式也非常有用,使用大為有益,可以在php端省卻大量遍歷**
有乙個表資料如下,想用一條sql將表中所有的id都用逗號拼接起來。
MySQL中常用字串函式
分類 資料庫技術2014 04 07 23 06 6708人閱讀 舉報1.字串長度函式char length str length str char length 返回值為字串str的長度,長度的單位為字元。乙個多位元組字元算作乙個單字元。對於乙個包含五個二位元組字符集,length 返回值為 10...
MySQL中常用字串函式
1.字串長度函式char length str length str char length 返回值為字串str的長度,長度的單位為字元。乙個多位元組字元算作乙個單字元。對於乙個包含五個二位元組字符集,length 返回值為 10,而 char length 的返回值為 5 select char ...
MySQL中常用字串函式
1.字串長度函式char length str length str char length 返回值為字串str的長度,長度的單位為字元。乙個多位元組字元算作乙個單字元。對於乙個包含五個二位元組字符集,length 返回值為 10,而 char length 的返回值為 5 select char ...