首页 > 数据库 > MySQL > 正文

与MSSQL对比学习MYSQL的心得(六)--函数

2024-07-24 12:46:55
字体:
来源:转载
供稿:网友

数学函数

1、求余函数MOD(X,Y)

MOD(X,Y)返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,他返回除法运算后的精确余数

SELECT MOD(31,8)

2、四舍五入函数TRUNCATE(X,Y)

TRUNCATE(X,Y)返回被舍去至小数点后y位的数字x。若y的值为0,则结果不带有小数点或不带有小数部分。

若y设为负数,则截去(归零)x小数点左边起第y位开始后面所有低位的值。

SELECT TRUNCATE(1.32,1)

TRUNCATE(1.32,1)保留小数点后一位数字,返回值为1.3

TIPS:ROUND(X,Y)函数在截取值的时候会四舍五入,而TRUNCATE(x,y)直接截取值,并不进行四舍五入

3、求余函数HEX(X)和UNHEX(X)函数

有以下的代码可以演示HEX和UNHEX的功能:

SELECT HEX('this is a test str')

查询的结果为:746869732069732061207465737420737472

SELECT UNHEX('746869732069732061207465737420737472')

查询的结果为:this is a test str

字符串函数

计算字符串字符数的函数

1、CHAR_LENGTH(STR)返回值为字符串str所包含的字符个数。一个多字节字符算作一个单字符

SELECT CHAR_LENGTH('DATE')


 
2、合并字符串函数CONCAT_WS(x,s1,s2,......)

CONCAT_WS(x,s1,s2,......),CONCAT_WS代表CONCAT with Separator,是CONCAT()函数的特殊形式。

第一个参数x是其他参数的分隔符,分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是

其他参数。如果分隔符为NULL,则结果为NULL。函数会忽略任何分隔符参数后的NULL值。

SELECT CONCAT_WS('-','1st','2nd','3rd'),CONCAT_WS('-','1st',NULL,'3rd')

CONCAT_WS('-','1st','2nd','3rd')使用分隔符‘-'将3个字符串连接成一个字符串,结果为“1st-2nd-3rd”;

CONCAT_WS('-','1st',NULL,'3rd')因为第二个值为NULL,所以第二个值不会出现在结果里

3、替换字符串的函数INSERT(S1,X,LEN,S2)

INSERT(S1,X,LEN,S2)函数跟SQLSERVER里的STUFF()函数的功能是一样的,这里不作介绍了

4、填充字符串的函数LPAD(S1,LEN,S2)和RPAD(S1,LEN,S2)

LPAD(S1,LEN,S2)返回字符串s1,其左边由字符串s2填补到len字符串长度。假如s1的长度大于len,则返回值被缩短至len字符。

LPAD()函数和RPAD()函数功能跟SQLSERVER里的 REPLACE()相似,不过功能更加强大

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表