介绍一下sql中的trim()以及translate()函数

首先说一下trim(),trim()和我们接触的编程语言一样也是用来去掉前后空格的,LTRIM(),RTRIM(),TRIM()【mysql函数】

可见已经去掉了左边的空格,RTIRM()也是一样的用法我们就不在多说,接下来重点说一下mysql函数TRIM()。

TRIM ( [ [位置] [要移除的字串] FROM ] 字串): [位置] 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。 这个函数将把 [要移除的字串] 从字串的起头、结尾,或是起头及结尾移除。如果我们没有列出 [要移除的字串] 是什么的话,那空白就会被移除。

没有列出要移除的字串,前后空格都已经去掉了

看样子只能移除第一个并且匹配的字符了。。。。


接下来说一下translate()函数,他也是对字符的操作(oracle 函数)

语法:
translate(string,from_str,to_str)
执行时,translate依次检查string中的每个字符是否在from_str中存在,如果不存在,那么这个string中的字符直接返回,如果存在,translate会记下这个字符在from_str中的位置,然后用to_str的同样位置的字符代替string中的这个字符作业返回结果


下面说一下特殊情况

<1>to_str长度小于from_str


3在‘’123‘’中存在且为第三个位置,但是‘’ac‘’的长度为2 ,所以返回结果为ac

<2>to_str为空串或空返回结果为空值

<3>此函数不能用于clob类型字段


另外与其相似的函数还有replace()函数这里就不多说了,mysql oracle都可以使用,(不存在不替换)













Logo

更多推荐