日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql count转字符串_MySQL字符串函数

發(fā)布時間:2024/9/27 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql count转字符串_MySQL字符串函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

把字符串轉(zhuǎn)成小寫

mysql> select sex,LCASE(job) from string_test where job='DUCK';+------+------------+

| sex | LCASE(job) |

+------+------------+

| 1 | duck |

+------+------------+

1 row in set (0.00 sec)

3,FIND_IN_SET(str,strlist)

4,FIELD(str,str1,str2,str3,…)

返回str在str1, str2, str3, …清單的索引。如果str沒找到,返回0。FIELD()是ELT()反運算。

mysql> SELECTid, name, FIELD( id, name, sex, job, hobby )-> FROM string_test where id < 4;+----+-------+------------------------------------+

| id | name | FIELD( id, name, sex, job, hobby ) |

+----+-------+------------------------------------+

| 1 | tank | 2 |

| 2 | zhang | 0 |

| 3 | ying | 0 |

+----+-------+------------------------------------+

3 rows in set (0.00 sec)

5.ELT(N,str1,str2,str3,…)

如果N= 1,返回str1,如果N= 2,返回str2,等等。如果N小于1或大于參數(shù)個數(shù),返回NULL。ELT()是FIELD()反運算。

mysql> SELECT id, name, ELT(1, id, name, sex, job, hobby ) FROM string_test where id < 4;+----+-------+------------------------------------+

| id | name | ELT(1, id, name, sex, job, hobby ) |

+----+-------+------------------------------------+

| 1 | tank | 1 |

| 2 | zhang | 2 |

| 3 | ying | 3 |

+----+-------+------------------------------------+

3 rows in set (0.00 sec)

mysql> SELECT id, name, ELT(2, id, name, sex, job, hobby ) FROM string_test where id < 4;+----+-------+------------------------------------+

| id | name | ELT(2, id, name, sex, job, hobby ) |

+----+-------+------------------------------------+

| 1 | tank | tank |

| 2 | zhang | zhang |

| 3 | ying | ying |

+----+-------+------------------------------------+

3 rows in set (0.00 sec)

6,REPLACE(str,from_str,to_str)

返回字符串str,其字符串from_str的所有出現(xiàn)由字符串to_str代替。

mysql> SELECT id,REPLACE(hobby,"firend",'living') FROM string_test WHERE id = 2;+----+----------------------------------+

| id | REPLACE(hobby,"firend",'living') |

+----+----------------------------------+

| 2 | fly,make living |

+----+----------------------------------+

1 row in set (0.00 sec)

7,REPEAT(str,count)

返回由重復(fù)countTimes次的字符串str組成的一個字符串。如果count <= 0,返回一個空字符串。如果str或count是NULL,返回NULL。

mysql> SELECT id,REPEAT(name,2) FROM string_test WHERE id > 1 and id < 4;+----+----------------+

| id | REPEAT(name,2) |

+----+----------------+

| 2 | zhangzhang |

| 3 | yingying |

+----+----------------+

2 rows in set (0.00 sec)

8,REVERSE(str)

返回顛倒字符順序的字符串str。

mysql> SELECT id,reverse(name) FROM string_test WHERE id > 1 and id < 4;+----+---------------+

| id | reverse(name) |

+----+---------------+

| 2 | gnahz |

| 3 | gniy |

+----+---------------+

2 rows in set (0.00 sec)

9,INSERT(str,pos,len,newstr)

返回字符串str,在位置pos起始的子串且len個字符長得子串由字符串newstr代替。

mysql> select id,name,INSERT(hobby,10,6,'living') from string_test where id = 2;+----+-------+-----------------------------+

| id | name | INSERT(hobby,10,6,'living') |

+----+-------+-----------------------------+

| 2 | zhang | fly,make living |

+----+-------+-----------------------------+

1 row in set (0.00 sec)

10,SUBSTRING(str FROM pos)

從字符串str的起始位置pos返回一個子串。下面的sub2沒有值,因為mysql數(shù)據(jù)庫的下標(biāo)是從1開始的。

mysql> SELECT id, substring( hobby, 1, 6) AS sub1, substring( hobby from 0 for 8)AS sub2,substring( hobby,2) AS sub3, substring( hobby from 4 ) AS sub4 FROMs

tring_testWHERE id =4;+----+--------+------+-----------+---------+

| id | sub1 | sub2 | sub3 | sub4 |

+----+--------+------+-----------+---------+

| 4 | i love | | love you | ove you |

+----+--------+------+-----------+---------+

1 row in set (0.00 sec)

11,SUBSTRING_INDEX(str,delim,count)

返回從字符串str的第count個出現(xiàn)的分隔符delim之后的子串。如果count是正數(shù),返回最后的分隔符到左邊(從左邊數(shù)) 的所有字符。如果count是負(fù)數(shù),返回最后的分隔符到右邊的所有字符(從右邊數(shù))。

mysql> SELECT id,SUBSTRING_INDEX(hobby,',',2) as test1,SUBSTRING_INDEX(hobby,',',-1) as test2 FROM string_test WHERE id = 3;+----+----------------+---------+

| id | test1 | test2 |

+----+----------------+---------+

| 3 | flying,driving | testing |

+----+----------------+---------+

1 row in set (0.01 sec)

12,LTRIM(str)

返回刪除了其前置空格字符的字符串str。

mysql> SELECT id,LTRIM(job) FROM string_test WHERE id = 4;+----+----------------+

| id | LTRIM(job) |

+----+----------------+

| 4 | love your love |

+----+----------------+

1 row in set (0.00 sec)

13,RTRIM(str)

返回刪除了其拖后空格字符的字符串str。

mysql> SELECT id,RTRIM(job) FROM string_test WHERE id = 4;+----+----------------+

| id | RTRIM(job) |

+----+----------------+

| 4 | love your love |

+----+----------------+

1 row in set (0.00 sec)

14,TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)

返回字符串str,其所有remstr前綴或后綴被刪除了。如果沒有修飾符BOTH、LEADING或TRAILING給出,BOTH被假定。如果remstr沒被指定,空格被刪除。

mysql> select trim('test');+-----------------+

| trim('test') |

+-----------------+

| test |

+-----------------+

1 row in set (0.01 sec)

mysql> SELECT id,TRIM(LEADING "love" from job) as test1,TRIM(BOTH "love" fromjo

b)as test2,TRIM(TRAILING "love" from job) as test3 FROM string_test WHERE id =

4

->;+----+------------+--------+------------+

| id | test1 | test2 | test3 |

+----+------------+--------+------------+

| 4 | your love | your | love your |

+----+------------+--------+------------+

1 row in set (0.00 sec)

15,MID(str,pos,len)

從字符串str返回一個len個字符的子串,從位置pos開始。使用FROM的變種形式是ANSI SQL92語法。

mysql> SELECT id, mid( hobby, 1, 6 ) ASsub1, mid( hobby-> FROM 0

-> FOR 8 ) AS sub2, mid( hobby, 2 ) ASsub3, mid( hobby-> FROM 4 ) ASsub4-> FROMstring_test-> WHERE id =4;+----+--------+------+-----------+---------+

| id | sub1 | sub2 | sub3 | sub4 |

+----+--------+------+-----------+---------+

| 4 | i love | | love you | ove you |

+----+--------+------+-----------+---------+

1 row in set (0.00 sec)

16,LPAD(str,len,padstr)

返回字符串str,左面用字符串padstr填補(bǔ)直到str是len個字符長。

mysql> SELECT id,LPAD(name,11,"zhang ") FROM string_test WHERE id = 3;+----+------------------------+

| id | LPAD(name,11,"zhang ") |

+----+------------------------+

| 3 | zhang zying |

+----+------------------------+

1 row in set (0.00 sec)

17,RPAD(str,len,padstr)

返回字符串str,右面用字符串padstr填補(bǔ)直到str是len個字符長。

mysql> SELECT id,RPAD(name,11," ying") FROM string_test WHERE id = 2;+----+-----------------------+

| id | RPAD(name,11," ying") |

+----+-----------------------+

| 2 | zhang ying |

+----+-----------------------+

1 row in set (0.00 sec)

18,LEFT(str,len)

返回字符串str的最左面len個字符。

mysql> SELECT id,left(job,4) FROM string_test WHERE id = 4;+----+-------------+

| id | left(job,4) |

+----+-------------+

| 4 | love |

+----+-------------+

1 row in set (0.00 sec)

19,RIGHT(str,len)

返回字符串str的最右面len個字符。

mysql> SELECT id,right(job,4) FROM string_test WHERE id = 4;+----+--------------+

| id | right(job,4) |

+----+--------------+

| 4 | love |

+----+--------------+

1 row in set (0.00 sec)

20,位置控制函數(shù)

POSITION(substr IN str)

返回子串substr在字符串str第一個出現(xiàn)的位置,如果substr不是在str里面,返回0.

LOCATE(substr,str,pos)

返回子串substr在字符串str第一個出現(xiàn)的位置,從位置pos開始。如果substr不是在str里面,返回0。

INSTR(str,substr)

返回子串substr在字符串str中的第一個出現(xiàn)的位置。這與有2個參數(shù)形式的LOCATE()相同,除了參數(shù)被顛倒。

mysql> SELECT id,INSTR(job,"you") as instr,LOCATE('love',job,3) aslocate,POSITION('love' in job) as position FROM string_test WHERE id = 4;+----+-------+--------+----------+

| id | instr | locate | position |

+----+-------+--------+----------+

| 4 | 6 | 11 | 1 |

+----+-------+--------+----------+

1 row in set (0.00 sec)

21,得到字符串長度的函數(shù)

LENGTH(str),OCTET_LENGTH(str),CHAR_LENGTH(str),CHARACTER_LENGTH(str)

mysql> SELECT id,LENGTH(job) as one,OCTET_LENGTH(job) as two,CHAR_LENGTH(job) asthree,CHARACTER_LENGTH(job)as four FROM string_test WHERE id = 4;+----+-----+-----+-------+------+

| id | one | two | three | four |

+----+-----+-----+-------+------+

| 4 | 14 | 14 | 14 | 14 |

+----+-----+-----+-------+------+

1 row in set (0.00 sec)

22,合并多個字符串,或者表中的多個字段

CONCAT(str1,str2,…)

返回來自于參數(shù)連結(jié)的字符串。如果任何參數(shù)是NULL,返回NULL。可以有超過2個的參數(shù)。一個數(shù)字參數(shù)被變換為等價的字符串形式。

mysql> SELECT id,CONCAT(name,job,hobby) FROM string_test WHERE id = 4;+----+-----------------------------------+

| id | CONCAT(name,job,hobby) |

+----+-----------------------------------+

| 4 | tankzhanglove your lovei love you |

+----+-----------------------------------+

1 row in set (0.00 sec)

23,進(jìn)制轉(zhuǎn)換

BIN(N)

返回二進(jìn)制值N的一個字符串表示,在此N是一個長整數(shù)(BIGINT)數(shù)字,這等價于CONV(N,10,2)。如果N是NULL,返回NULL。

OCT(N)

返回八進(jìn)制值N的一個字符串的表示,在此N是一個長整型數(shù)字,這等價于CONV(N,10,8)。如果N是NULL,返回NULL。

HEX(N)

返回十六進(jìn)制值N一個字符串的表示,在此N是一個長整型(BIGINT)數(shù)字,這等價于CONV(N,10,16)。如果N是NULL,返回NULL。

ASCII(str)

返回字符串str的最左面字符的ASCII代碼值。如果str是空字符串,返回0。如果str是NULL,返回NULL。

mysql> select bin(20),oct(20),hex(20),ascii(20);+---------+---------+---------+-----------+

| bin(20) | oct(20) | hex(20) | ascii(20) |

+---------+---------+---------+-----------+

| 10100 | 24 | 14 | 50 |

+---------+---------+---------+-----------+

1 row in set (0.02 sec)

上面我只例舉了一部分對字符串進(jìn)行操作的函數(shù),并且是我覺得我們平時會用的,有可能會用到的一些函數(shù)。

在MySQL中進(jìn)行字符串的拼接要使用CONCAT()函數(shù),CONCAT()函數(shù)支持一個或者多個參數(shù),參數(shù)類型可以為字符串類型也可以是非字符串類 型。對于非字符串類型的參數(shù)MySQL將嘗試將其轉(zhuǎn)化為字符串類型,CONCAT()函數(shù)會將所有參數(shù)按照參數(shù)的順序拼接成一個字符串作為返回值。比如下 面的SQL語句用于將用戶的多個字段信息以一個字段的形式查詢出來:

SELECT CONCAT('Staff Number :', 'Happiness Index', FNumber, FSalary/(FAge-21)) fromt_employee+----------------------------------------------------------+

| concat |

+----------------------------------------------------------+

| Staff number: Happiness index of DEV001 is 2075.000000 |

| Staff number: Happiness index of DEV002 is 328.571429 |

| NULL |

| Staff number: Happiness index of HR001 is 2150.000000 |

| Staff number: Happiness index of HR002 is 825.000000 |

| Staff number: Happiness index of IT001 is 785.714286 |

| Staff number: Happiness index of IT002 is 466.666667 |

| Staff number: Happiness index of SALES001 is 1325.000000 |

| Staff number: Happiness index of SALES002 is 592.857143 |

+----------------------------------------------------------+

MYSQL中還提供了另外一個進(jìn)行字符串拼接的函數(shù)CONCAT_WS,CONCAT_WS可以在待拼接的字符串之間加入指定的分割符。它的第一個參數(shù)值為采用的分隔符,而剩下的參數(shù)則為待拼接的字符串值,比如執(zhí)行下面的SQL:

SELECT CONCAT_WS(',', FNumber,FAge, FDepartment, FSalary) FROMT_Employee+------------------------------------------------------+

| concat_ws(',', FNumber, FAge, FDepartment, FSalary) |

+------------------------------------------------------+

| DEV001, 25, Development, 8300.00 |

| DEV002, 28, Development, 2300.00 |

| DEV003, Development, 3333.00 |

| HR001, 23, HumanResource, 4300.00 |

| HR002, 25, HumanResource, 3300.00 |

| IT001, 28, InfoTech, 5500.00 |

| IT002, 27, InfoTech, 2800.00 |

| SALES001, 25, Sales, 5300.00 |

| SALES002, 35, Sales, 8300.00 |

+------------------------------------------------------+

總結(jié)

以上是生活随笔為你收集整理的mysql count转字符串_MySQL字符串函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。