码迷,mamicode.com
首页 > 数据库 > 详细

2016.7.10 SqlServer语句中类似decode、substr、instr、replace、length等函数的用法

时间:2016-10-15 20:02:02      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:

Decode() 对应 case when函数

case CHARINDEX(‘/‘,start_point_name)

when 0 then start_point_name

else substring(start_point_name,1,CHARINDEX(‘/‘,start_point_name)-1)

end

注意:sqlserver在用case when判断是否为null时,语法不一样

判断null应该用:

case when identifier is null then airway_point_name else identifier  end,

最简单的办法就是用isnll函数 isnull(idenfier, airway_point_name)

不行!isnull(idenfier, airway_point_name)会将idenfier缩短,本来5个字符,替换后只有4个字符,原因未知,最好不用isnull

 

instr对应CHARINDEX(‘/‘,start_point_name)函数,只不过两个参数的含义正好颠倒,也是从1开始计数

 

substr对应substring 参数完全一样,但长度参数不能缺少,不能默认到末尾,只能给一个足够大的长度值。

 

replace函数则完全一样

 

length函数对应 len函数

2016.7.10 SqlServer语句中类似decode、substr、instr、replace、length等函数的用法

标签:

原文地址:http://www.cnblogs.com/mol1995/p/5965010.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!