MySQL 相关函数

通配符

%   0或者多个字符

_    任意一个字符

[charlist]     字符列中的任何单一字符

[^charlist]    or [!charlist]     不在字符列中的任何单一字符

^[charlist]     以字符列中任何单一字符开头的

下面的 SQL 语句选取 name 以 "G"、"F" 或 "s" 开始的所有网站:

SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';

^[^charlist]   不以字符列中任何单一字符开头的

 

MySQL里使用正则表达式     REGEXP

 


CONCAT函数   字符串拼接函数

CONCAT ('1','2','3')  --------->123

CONCAT可以连接一个或者多个字符串,但是如果字符串中有一个为null,则结果返回null


CONCAT_WS      concat    with     separator

CONCAT_WS('separator','a','b','c')

CONCAT_WS('x','a','b','c')---------->     axbxc

CONCAT_WS('!','a','b','c')-----------> a!b!c

如果被拼接的字符串里面有一个null

CONCAT_WS('!','a','b',null)------->a!b


GROUP_CONCAT

GROUP_CONCAT(DISTINCT 需要连接字段   ORDER BY  col_name ASC/DESC    SEPARATOR  '分隔符')  FROM  表名   group by   xxxx

 

idname
1a
1a
1b
2c
2

d

3e

SELECT  id,GROUP_CONCAT(name    ORDER BY id ASC   SEPARATOR '!')  FROM  tb GROUP BY id 

1  a!a!b 

2  c!d

3   e


REPLACE函数

两大功能

1 将表table的字段column1的abc替换成·def

UPDATE table SET column1=REPLACE(COLUMN1,'abc','def');

2将str字符串中from_str都换成to_str

REPLACE(str,from_str,to_str)

例子

"Monaco-Ville"是合併國家名字 "Monaco" 和延伸詞"-Ville".

顯示國家名字,及其延伸詞,如首都是國家名字的延伸。

你可以使用SQL函數 REPLACE 或 MID.

SELECT name,REPLACE(capital,name,'')
FROM world
WHERE capital LIKE CONCAT(name,'%')
AND
capital!=name;


Sql Server 中 text或ntext 字段内容替换

刚开始,Update AA 表 Set xx字段=Replace(xx字段,"要替换的","特定串") ,出现错误:函数 replace 的参数 1 的数据类型 ntext 无效。Update article set heading=Replace(convert(nvarchar(4000),heading),'<script></script>','')

1update 表名
2    set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值')

varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超过8000/4000可以先转换成前面两种类型再使用replace。

1update 表名
2    set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值')
1update 表名
2    set ntext类型字段名=replace(convert(nvarchar(4000),ntext类型字段名),'要替换的字符','替换成的值')


ROUND函数

在mysql中,round函数用于数据的四舍五入,它有两种形式:

1、round(x,d)  ,x指要处理的数,d是指保留几位小数

这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0;

2、round(x)  ,其实就是round(x,0),也就是默认d为0;

下面是几个实例

1、查询: select round(1123.26723,2);

     结果:1123.27

2、查询: select round(1123.26723,1);

     结果: 1123.3

3、查询: select round(1123.26723,0);

     结果:1123

4、查询: select round(1123.26723,-1);

     结果: 1120

5、查询: select round(1123.26723,-2);

     结果:1100

5、查询: select round(1123.26723);

     结果:1123
 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值