加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2020-12-26 08:26:38 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL数据库与MSSQL对比学习MYSQL的心得(六)--函数》要点: 本文介绍了MYSQL数据库与MSSQL对比学习MYSQL的心得(六)--函数,希望对您有用。如果有疑问,可以联系我们。 MYSQL应用 数学函数 MYSQL应用 1、求余函数MOD(X,Y) MYSQL应用 MOD(X,Y)返回x被y除

MYSQL应用
?
MYSQL

MYSQL应用
SELECT EXTRACT(YEAR FROM '2013-2-3')

MYSQL应用

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

MYSQL应用7、时间和秒钟转换的函数

MYSQL应用TIME_TO_SEC(time)返回已转化为秒的time参数,转换公式为:小时*3600+分钟*60+秒

MYSQL应用
SELECT TIME_TO_SEC('23:22:00')

MYSQL应用
?
SEC_TO_TIME(second)函数可以将秒转换为小时、分钟和秒数的second参数值

MYSQL应用
SELECT SEC_TO_TIME('84120')
?

MYSQL应用SEC_TO_TIME(second)函数和TIME_TO_SEC(time)函数互为反函数

MYSQL应用8、计算日期和时间的函数

MYSQL应用MYSQL里计算日期和时间的函数比较多

MYSQL应用增加日期:DATE_ADD(date,interval? expr type),ADDDATE(date,interval? expr type)

MYSQL应用减去日期:DATE_SUB(date,SUBDATE(date,interval? expr type)

MYSQL应用增加时间:ADD_TIME(date,expr)

MYSQL应用减去时间:SUBTIME(date,expr)

MYSQL应用时间差:DATEDIFF()

MYSQL应用日期和时间格式化:

MYSQL应用DATE_FORMAT(date,format)

MYSQL应用TIME_FORMAT(time,format)

MYSQL应用返回日期时间字符串的显示格式:GET_FORMAT(val_type,format_type)

MYSQL应用相对来说,SQLSERVER在时间日期方面的计算就没有那么多函数了

MYSQL应用基本上SQLSERVER利用下面两个函数来通杀日期时间计算的场景

MYSQL应用SELECT DATEADD(),DATEDIFF()
条件判断函数

MYSQL应用条件判断函数也称为流程控制函数,根据满足的条件的不同,执行相应的流程.

MYSQL应用MYSQL中进行条件判断的函数有IF、IFNULL、CASE

MYSQL应用虽然SQLSERVER里也有IF和CASE,不过MYSQL里的IF语句的语法跟SQLERVER有很大出入

MYSQL应用?

MYSQL应用1、IF(expr,v1,v2)函数

MYSQL应用IF(expr,v2)如果表达式expr是TRUE(expr<>0 and expr<>NULL),则IF()的返回值为v1;

MYSQL应用否则返回值为v2.IF()的返回值为数字值或字符串值,具体情况视其所在语境而定

MYSQL应用
SELECT IF(1>2,2,3)

MYSQL应用

MYSQL应用1>2的结果为FALSE,IF(1>2,3)返回第二个表达式的值3.

MYSQL应用TIPS:如果v1或v2中只有一个明确是NULL,则IF()函数的结果类型为非NULL表达式的结果类型.

MYSQL应用2、IFNULL(V1,V2)函数

MYSQL应用IFNULL(V1,V2)假如v1不为NULL,则IFNULL(V1,V2)的返回值为v1;否则其返回值为v2.

MYSQL应用IFNULL()的返回值是数字或是字符串,具体情况视语境而定

MYSQL应用
SELECT IFNULL(1,2),IFNULL(NULL,10)

MYSQL应用

MYSQL应用IFNULL(1,2)虽然第二个值也不为空,但返回结果依然是第一个值;

MYSQL应用IFNULL(NULL,10)第一个值为空,因此返回“10”

MYSQL应用注意:IFNULL(V1,V2)函数跟SQLSERVER里的 SELECT NULLIF() 函数不一样

MYSQL应用SQLSERVER里的NULLIF函数

MYSQL应用需要两个参数,如果两个指定的表达式等价,则返回null

MYSQL应用例子:NULLIF(a,b)

MYSQL应用说明:如果a和b是相等的,那么返回NULL,如果不相等返回a

MYSQL应用select NULLIF('eqeqweqwe','1') 结果是eqeqweqwe

MYSQL应用select NULLIF(1,1) 结果是NULL

MYSQL应用a和b的类型要一致

MYSQL应用3、CASE函数

MYSQL应用注意:一个CASE表达式的默认返回值类型是任何返回值的相容集合类型,但具体情况视其所在语境而定.

MYSQL应用如果用字符串语境中,则返回结果为字符串.如果用在数字语境中,则返回结果为十进制、实数值或整数值

MYSQL应用这个数据类型在拼接SQL语句的时候特别容易忽略,有时候会在拼接SQL语句的时候,case 后面的表达式或者when后面的表达式不一致报错!

MYSQL应用参考文章:http://support.microsoft.com/kb/969467/zh-cn

MYSQL应用修补程序: 错误消息,当您运行查询时,SQL Server 2008年中使用 CASE 函数:"转换失败时转换为数据类型 < Type2 > < Type1 > 值 < 值 >"

MYSQL应用在MSDN论坛也有一个相关的帖子,大概是因为拼接sql的时候case 后面的表达式值的数据类型和else后面的表达式值的数据类型不一致导致拼接sql失败

MYSQL应用具体的帖子地址忘记了,也找不到,如果找到以后会补充上

MYSQL应用系统信息函数

MYSQL应用1、获取MYSQL版本号、连接数和数据库名的函数

MYSQL应用VERSION()返回指示MYSQL服务器版本的字符串.这个字符串使用utf8字符集

MYSQL应用
SELECT VERSION()

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读