国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

小結:MYSQL數據庫常用字符處理函數

2024-07-24 12:56:59
字體:
來源:轉載
供稿:網友

ascii(str)
返回字符串str的最左面字符的ascii代碼值。如果str是空字符串,返回0。如果str是null,返回null。
mysql> select ascii('2');
        -> 50
mysql> select ascii(2);
        -> 50
mysql> select ascii('dx');
        -> 100
也可參見ord()函數。

ord(str)
如果字符串str最左面字符是一個多字節字符,通過以格式((first byte ascii code)*256+(second byte ascii code))[*256+third byte ascii code...]返回字符的ascii代碼值來返回多字節字符代碼。如果最左面的字符不是一個多字節字符。返回與ascii()函數返回的相同值。
mysql> select ord('2');
        -> 50
 
conv(n,from_base,to_base)
在不同的數字基之間變換數字。返回數字n的字符串數字,從from_base基變換為to_base基,如果任何參數是null,返回null。參數n解釋為一個整數,但是可以指定為一個整數或一個字符串。最小基是2且最大的基是36。如果to_base是一個負數,n被認為是一個有符號數,否則,n被當作無符號數。 conv以64位點精度工作。
mysql> select conv("a",16,2);
        -> '1010'
mysql> select conv("6e",18,8);
        -> '172'
mysql> select conv(-17,10,-18);
        -> '-h'
mysql> select conv(10+"10"+'10'+0xa,10,10);
        -> '40'
 
bin(n)
返回二進制值n的一個字符串表示,在此n是一個長整數(bigint)數字,這等價于conv(n,10,2)。如果n是null,返回null。
mysql> select bin(12);
        -> '1100'

oct(n)
返回八進制值n的一個字符串的表示,在此n是一個長整型數字,這等價于conv(n,10,8)。如果n是null,返回null。
mysql> select oct(12);
        -> '14'
 
hex(n)
返回十六進制值n一個字符串的表示,在此n是一個長整型(bigint)數字,這等價于conv(n,10,16)。如果n是null,返回null。
mysql> select hex(255);
        -> 'ff'
 
char(n,...)
char()將參數解釋為整數并且返回由這些整數的ascii代碼字符組成的一個字符串。null值被跳過。
mysql> select char(77,121,83,81,'76');
        -> 'mysql'
mysql> select char(77,77.3,'77.3');
        -> 'mmm'
 
concat(str1,str2,...)
返回來自于參數連結的字符串。如果任何參數是null,返回null??梢杂谐^2個的參數。一個數字參數被變換為等價的字符串形式。
mysql> select concat('my', 's', 'ql');
        -> 'mysql'
mysql> select concat('my', null, 'ql');
        -> null
mysql> select concat(14.3);
        -> '14.3'

length(str)
 
octet_length(str)
 
char_length(str)
 
character_length(str)
返回字符串str的長度。
mysql> select length('text');
        -> 4
mysql> select octet_length('text');
        -> 4

注意,對于多字節字符,其char_length()僅計算一次。

locate(substr,str)
 
position(substr in str)
返回子串substr在字符串str第一個出現的位置,如果substr不是在str里面,返回0.
mysql> select locate('bar', 'foobarbar');
        -> 4
mysql> select locate('xbar', 'foobar');
        -> 0

該函數是多字節可靠的。 
locate(substr,str,pos)
返回子串substr在字符串str第一個出現的位置,從位置pos開始。如果substr不是在str里面,返回0。
mysql> select locate('bar', 'foobarbar',5);
        -> 7

這函數是多字節可靠的。

instr(str,substr)
返回子串substr在字符串str中的第一個出現的位置。這與有2個參數形式的locate()相同,除了參數被顛倒。
mysql> select instr('foobarbar', 'bar');
        -> 4
mysql> select instr('xbar', 'foobar');
        -> 0

這函數是多字節可靠的。

lpad(str,len,padstr)
返回字符串str,左面用字符串padstr填補直到str是len個字符長。
mysql> select lpad('hi',4,'??');
        -> '??hi'
 
rpad(str,len,padstr)
返回字符串str,右面用字符串padstr填補直到str是len個字符長。  
mysql> select rpad('hi',5,'?');
        -> 'hi???'

left(str,len)
返回字符串str的最左面len個字符。
mysql> select left('foobarbar', 5);
        -> 'fooba'

該函數是多字節可靠的。

right(str,len)
返回字符串str的最右面len個字符。
mysql> select right('foobarbar', 4);
        -> 'rbar'

該函數是多字節可靠的。

substring(str,pos,len)
 
substring(str from pos for len)
 
mid(str,pos,len)
從字符串str返回一個len個字符的子串,從位置pos開始。使用from的變種形式是ansi sql92語法。
mysql> select substring('quadratically',5,6);
        -> 'ratica'

該函數是多字節可靠的。

substring(str,pos)
 
substring(str from pos)
從字符串str的起始位置pos返回一個子串。
mysql> select substring('quadratically',5);
        -> 'ratically'
mysql> select substring('foobarbar' from 4);
        -> 'barbar'

該函數是多字節可靠的。

substring_index(str,delim,count)
返回從字符串str的第count個出現的分隔符delim之后的子串。如果count是正數,返回最后的分隔符到左邊(從左邊數) 的所有字符。如果count是負數,返回最后的分隔符到右邊的所有字符(從右邊數)。
mysql> select substring_index('m.survivalescaperooms.com', '.', 2);
        -> 'www.VeVb'
mysql> select substring_index('m.survivalescaperooms.com', '.', -2);
        -> 'VeVb.com'

該函數對多字節是可靠的。

ltrim(str)
返回刪除了其前置空格字符的字符串str。
mysql> select ltrim('  barbar');
        -> 'barbar'

rtrim(str)
返回刪除了其拖后空格字符的字符串str。
mysql> select rtrim('barbar   ');
        -> 'barbar'

該函數對多字節是可靠的。 
trim([[both | leading | trailing] [remstr] from] str)
返回字符串str,其所有remstr前綴或后綴被刪除了。如果沒有修飾符both、leading或trailing給出,both被假定。如果remstr沒被指定,空格被刪除。
mysql> select trim('  bar   ');
        -> 'bar'
mysql> select trim(leading 'x' from 'xxxbarxxx');
        -> 'barxxx'
mysql> select trim(both 'x' from 'xxxbarxxx');
        -> 'bar'
mysql> select trim(trailing 'xyz' from 'barxxyz');
        -> 'barx'

該函數對多字節是可靠的。

soundex(str)
返回str的一個同音字符串。聽起來“大致相同”的2個字符串應該有相同的同音字符串。一個“標準”的同音字符串長是4個字符,但是soundex()函數返回一個任意長的字符串。你可以在結果上使用substring()得到一個“標準”的 同音串。所有非數字字母字符在給定的字符串中被忽略。所有在a-z之外的字符國際字母被當作元音。
mysql> select soundex('hello');
        -> 'h400'
mysql> select soundex('quadratically');
        -> 'q36324'
 
space(n)
返回由n個空格字符組成的一個字符串。
mysql> select space(6);
        -> '      '
 
replace(str,from_str,to_str)
返回字符串str,其字符串from_str的所有出現由字符串to_str代替。
mysql> select replace('m.survivalescaperooms.com', 'w', 'ww');
        -> 'wwwm.survivalescaperooms.com'

該函數對多字節是可靠的。

repeat(str,count)
返回由重復counttimes次的字符串str組成的一個字符串。如果count <= 0,返回一個空字符串。如果str或count是null,返回null。
mysql> select repeat('mysql', 3);
        -> 'mysqlmysqlmysql'
 
reverse(str)
返回顛倒字符順序的字符串str。
mysql> select reverse('abc');
        -> 'cba'

該函數對多字節可靠的。

insert(str,pos,len,newstr)
返回字符串str,在位置pos起始的子串且len個字符長得子串由字符串newstr代替。
mysql> select insert('quadratic', 3, 4, 'what');
        -> 'quwhattic'

該函數對多字節是可靠的。

elt(n,str1,str2,str3,...)
如果n= 1,返回str1,如果n= 2,返回str2,等等。如果n小于1或大于參數個數,返回null。elt()是field()反運算。
mysql> select elt(1, 'ej', 'heja', 'hej', 'foo');
        -> 'ej'
mysql> select elt(4, 'ej', 'heja', 'hej', 'foo');
        -> 'foo'

field(str,str1,str2,str3,...)
返回str在str1, str2, str3, ...清單的索引。如果str沒找到,返回0。field()是elt()反運算。
mysql> select field('ej', 'hej', 'ej', 'heja', 'hej', 'foo');
        -> 2
mysql> select field('fo', 'hej', 'ej', 'heja', 'hej', 'foo');
        -> 0

find_in_set(str,strlist)
如果字符串str在由n子串組成的表strlist之中,返回一個1到n的值。一個字符串表是被“,”分隔的子串組成的一個字符串。如果第一個參數是一個常數字符串并且第二個參數是一種類型為set的列,find_in_set()函數被優化而使用位運算!如果str不是在strlist里面或如果strlist是空字符串,返回0。如果任何一個參數是null,返回null。如果第一個參數包含一個“,”,該函數將工作不正常。
mysql> select find_in_set('b','a,b,c,d');
        -> 2
 
make_set(bits,str1,str2,...)
返回一個集合 (包含由“,”字符分隔的子串組成的一個字符串),由相應的位在bits集合中的的字符串組成。str1對應于位0,str2對應位1,等等。在str1, str2, ...中的null串不添加到結果中。
mysql> select make_set(1,'a','b','c');
        -> 'a'
mysql> select make_set(1 | 4,'hello','nice','world');
        -> 'hello,world'
mysql> select make_set(0,'a','b','c');
        -> ''

export_set(bits,on,off,[separator,[number_of_bits]])
返回一個字符串,在這里對于在“bits”中設定每一位,你得到一個“on”字符串,并且對于每個復位(reset)的位,你得到一個“off”字符串。每個字符串用“separator”分隔(缺省“,”),并且只有“bits”的“number_of_bits” (缺省64)位被使用。
mysql> select export_set(5,'y','n',',',4)
        -> y,n,y,n

lcase(str)
 
lower(str)
返回字符串str,根據當前字符集映射(缺省是iso-8859-1 latin1)把所有的字符改變成小寫。該函數對多字節是可靠的。
mysql> select lcase('quadratically');
        -> 'quadratically'
 
ucase(str)
 
upper(str)
返回字符串str,根據當前字符集映射(缺省是iso-8859-1 latin1)把所有的字符改變成大寫。該函數對多字節是可靠的。
mysql> select ucase('hej');
        -> 'hej'

該函數對多字節是可靠的。

load_file(file_name)
讀入文件并且作為一個字符串返回文件內容。文件必須在服務器上,你必須指定到文件的完整路徑名,而且你必須有file權限。文件必須所有內容都是可讀的并且小于max_allowed_packet。如果文件不存在或由于上面原因之一不能被讀出,函數返回null。
mysql> update table_name
           set blob_column=load_file("/tmp/picture")
           where id=1;


mysql必要時自動變換數字為字符串,并且反過來也如此:

mysql> select 1+"1";
        -> 2
mysql> select concat(2,' test');
        -> '2 test'

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 闻喜县| 尚志市| 长沙县| 阳新县| 昌宁县| 邢台县| 固阳县| 内丘县| 灵川县| 林甸县| 黄大仙区| 镇巴县| 榆树市| 独山县| 仁化县| 尼勒克县| 平利县| 玉田县| 岳西县| 嘉禾县| 顺平县| 河间市| 宁国市| 南康市| 镇赉县| 都兰县| 江西省| 垣曲县| 晋中市| 金山区| 长宁区| 涟源市| 南靖县| 鄂尔多斯市| 新民市| 汪清县| 西乌| 兴和县| 克东县| 平山县| 河西区|