对于针对字符串位置的操作,第一个位置被标记为1。
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(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
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('www.mysql.com', '.', 2); -> 'www.mysql' mysql> select SUBSTRING_INDEX('www.mysql.com', '.', -2); -> 'mysql.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('www.mysql.com', 'w', 'Ww'); -> 'WwWwWw.mysql.com'
REPEAT(str,count)
count
Times次的字符串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]])
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)
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'
如果你想要明确地变换一个数字到一个字符串,把它作为参数传递到CONCAT()
。
如果字符串函数提供一个二进制字符串作为参数,结果字符串也是一个二进制字符串。被变换到一个字符串的数字被当作是一个二进制字符串。这仅影响比 较。
相关推荐
│ 6_MySQL字符串类型.mp4 │ 7_MySQL存储引擎.mp4 │ 8_MySQL第三范式设计讲解.mp4 │ 9_MySQL数据库设计工具.mp4 │ ├─新版MySQL DBA综合实战班 第06天 │ 1_课堂作业讲解.mp4 │ 2_InnoDB内核之事务和多版本...
收集的比较全的Mysql日期和mysql时间函数 DATE_FORMAT(date,format) 根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December) %W 星期名字(Sunday……...
1.3 测试一个对象是否是类字符串 8 1.4 字符串对齐 10 1.5 去除字符串两端的空格 11 1.6 合并字符串 11 1.7 将字符串逐字符或逐词反转 14 1.8 检查字符串中是否包含某字符集合中的字符 15 1.9 简化字符串的...
4.4.3 字符串编码 115 4.5 查询java api文件 117 4.6 重点复习 119 4.7 课后练习 120 chapter5 对象封装 125 5.1 何谓封装 126 5.1.1 封装对象初始流程 126 5.1.2 封装对象操作流程 128 5.1.3 封装...
拼接字符串,结果为:‘党工委副书记,总支副书记,党支部书记,党委书记,党委副书记,党总支书记,党工委书记,党总支副书记,党支部副书记’ 1.8.9 相似度 1.8.9.1 语法 select utl_match.edit_distance_similarity('...
(1)选择“从行首开始匹配”,“查找内容”组合框中出现字符“^”,表示待查找字符串必须出现在文本中一行的行首。 (2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在...
在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1. ...
第13章 字符串——优异的内存组织机制 243 13.1 String类的基础知识 243 13.1.1 对象的创建 243 13.1.2 巧用构造器 244 13.1.3 String类的重要方法 245 13.2 String对象的内存机制 248 13.2.1 一段令人...
设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...
设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后...
.NET 2.0中的字符串比较 小试ASP.NET 2.0的兼容性 为 asp.net 2.0 的菜单控件增加 target 属性 ASP.NET 2.0 的内部变化 常见的 ASP.NET 2.0 转换问题和解决方案 Asp.Net2.0无刷新客户端回调 体验.net 2.0 的优雅(1...