字符函数用于在SQL里以不同于存储方式的格式来表示字符串。
串接就是把两个单独的字符串组合为一个。
子串的概念就是从字符串里提取一部分。
TRANSLATE函数用于逐字符地把一个字符串变换为另一个,它通常有3个参数:要被转换的字符串、要转换的字符系列、代入字符的列表。
二、常用字符函数
1、串接函数
MySQL里的语法:CONCAT(column_name, [‘ ’,] column_name [column_name])
ORACLE里的语法:column_name || [‘ ’ ||] column_name [column_name]
SQL Server里的语法:column_name + [‘ ’ +] column_name [column_name]
MySQL和Oracle中都有串接函数,区别在于,Oracle中的串接函数只能用于两个字符串,而MySQL中的串接函数可以连接多个字符串。
2、TRANSLATE函数
TRANSLATE函数搜索字符串里的字符并查找特定的字符,标记找到的位置,然后用替代字符串里对应的字符替换它。
语法:TRANSLATE(CHARACTER set, value1, value2)
注:MySQL和Oracle都支持使用TRANSLATE函数,但是SQL Server不支持。
3、REPLACE函数
REPLACE函数用于把某个字符或字符串替换为指定的一个字符(或多个字符),其使用类似于TRANSLATE函数,只是它是把一个字符或字符串替换到另一个字符串里。
语法:REPLACE(‘value’,’value’,[null] ‘value’)
注:MySQL、Oracle、SQL Server全都支持该函数的ANSI语法结构。
4、UPPER
语法:UPPER(CHARACTER string)
注:MySQL、Oracle、SQL Server全都支持该函数,MySQL还有一个UCASE函数可以实现同样的 *** 作。
5、LOWER
语法:LOWER(CHARACTER string)
注:MySQL、Oracle、SQL Server全都支持该函数,与UPPER类似,MySQL还有一个LCASE函数可以实现同样的 *** 作。
6、SUBSTR
MySQL(5.5.33)里的语法:
SUBSTR(column_name starting position, length)
SUBSTRING(column_name, starting position, length)
Oracle里的语法:SUBSTR(column_name starting position, length)
SQL Server里的语法:SUBSTRING(column_name, starting position, length)
7、INSTR
INSTR函数用于在字符串里寻找指定的字符集,返回其所在的位置。
语法:INSTR(column_name, ‘set’, [start position [,occurrence]]
注:INSTR在MySQL和Oracle中有效,在SQL Server中,则需要使用CHARINDEX函数。
8、LTRIM
LTRIM用于从左剪除字符串里的字符。
语法:LTRIM(CHARACTER STRING [,’set’)
注:MySQL、Oracle、SQL Sserver全都支持该函数。
9、RTRIM
类似于LTRIM,RTRIM也用于剪除字符,当它是剪除字符串的右侧。
语法:RTRIM(CHARACTER STRING [,’set’])
注:MySQL、Oracle、SQL Sserver全都支持该函数。
msyql有去掉两边 trim ,左侧 ltrim ,右侧 rtrim 的函数可以直接用
有时候不顶事可以用下面解决,去掉空格
如果excel导表不小心产生了空格
trim是mysql内置函数,可以去除字段首位空格
replace 内置函数,去除指定字符
char(9):水平制表符 (tab键 或者 \t)
char(10):换行键 (\n)
char(13):回车键 (Enter键)
mysql中的去除左空格函数:LTRIM(str)
Returns
the
string
str
with
leading
space
characters
removed.
以下是代码片段:
复制代码
代码如下:
mysql>
SELECT
LTRIM('
barbar')
->
'barbar'
This
function
is
multi-byte
safe.
mysql中的去除右空格函数:
RTRIM(str)
Returns
the
string
str
with
trailing
space
characters
removed.
以下是代码片段:
复制代码
代码如下:
mysql>
SELECT
RTRIM('barbar
')
->
'barbar'
This
function
is
multi-byte
safe.
trim函数可以过滤指定的字符串:
完整格式:TRIM([{BOTH
|
LEADING
|
TRAILING}
[remstr]
FROM]
str)
简化格式:TRIM([remstr
FROM]
str)
Returns
the
string
str
with
all
remstr
prefixes
or
suffixes
removed.
If
none
of
the
specifiers
BOTH,
LEADING,
or
TRAILING
is
given,
BOTH
is
assumed.
remstr
is
optional
and,
if
not
specified,
spaces
are
removed.
以下是代码片段:
复制代码
代码如下:
mysql>
SELECT
TRIM('
bar
')
//默认删除前后空格
->
'bar'
mysql>
SELECT
TRIM(LEADING
','
FROM
',,barxxx')
//删除指定首字符
如',‘
->
'barxxx'
mysql>
SELECT
TRIM(BOTH
','
FROM
',,bar,,,')
//删除指定首尾字符
->
'bar'
mysql>
SELECT
TRIM(TRAILING
','
FROM
'barxxyz,,')
->
'barxxyz'
复制代码
代码如下:
mysql>
UPDATE
table
SET
`field`=TRIM(TRAILING
','
FROM
`FIELD`)
WHERE
WHERE
`FIELD`
LIKE
'%,'
This
function
is
multi-byte
safe.
替换数据库中字段的最后一个分页符
复制代码
代码如下:
UPDATE
[!db.pre!]ecms_news_data_1
SET
`newstext`=TRIM(TRAILING
'[!--empirenews.page--]'
FROM
`newstext`)
WHERE
id=585
SELECT
TRIM(TRAILING
'[!--empirenews.page--]'
FROM
`newstext`)
AS
newstex
FROM
[!db.pre!]ecms_news_data_1
WHERE
id=585
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)