字符串截取
字符串截取函数:substring(str,startlen,endlen)
需要截取的字符:str
开始长度:startlen --从1开始
结束长度:endlen -从1开始
用法:select substring(“abcdefg”,1,2)
输出:bc
为啥这么麻烦:因为sql server没有substring_index函数,只能用substring函数
根据指定字符截取
需要用到的函数:
substring–介绍上面已经写了
LTRIM --去除左边空格
RTRIM–去除右边空格
len–获取字符长度,从1开始
charindex(target,str)–返回指定字符的下标,从1开始
目标字符:target–可以指定任意东西字符
字符:str–目标字符所在的字符串
用法:charindex(”@“,“1234@abcd”)
输出:4
Tips:这里演示的字符中没包含换行符和占位符,请自行测试
实战sql:也可以直接拿来用;
需要改动的地方:表名,目标字符串:b.selectname,目标字符:"/"
SELECT
LTRIM( RTRIM( b.selectname ) ) AS "字符串",
charindex( '/', LTRIM( RTRIM( b.selectname ) ) ) + 1 AS "开始位置",
len( b.selectname ) AS "结束位置",
SUBSTRING (
LTRIM( RTRIM( b.selectname ) ),
charindex( '/', LTRIM( RTRIM( b.selectname ) ) ) + 1,
len( b.selectname )
) AS "结果"
FROM
workflow_billfield a
LEFT JOIN workflow_selectitem b ON a.id= b.fieldid
WHERE
billid = - 13
AND fieldname = 'fylx1';
sql执行结果:
文章到此结束,如有雷同纯属意外;
欢迎大家踊跃发言,积极补充。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)