mysql中常用的字符串函数(1/3)
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,...)
补充:数据库,mysql教程