sqlserver 和MySQL的一些函数的区别
2024-08-30 14:04:55
相同的表数据在sqlserver和MySQL中使用各自的函数得到相同的结果,如下表
drop table tb;
create table tb(id int, value1 varchar(10), value2 varchar(20));
insert into tb values(1,'aa','11');
insert into tb values(1,'bb','22');
insert into tb values(2,'aaa','111');
insert into tb values(2,'bbb','222');
insert into tb values(2,'ccc','333');
要想查询出如下结果
在sqlserver中需要以下语句查询
SELECT
id,stuff(
(
SELECT ',' + VALUE1 FROM tb AS t WHERE t.id = tb.id FOR xml path ('')
), 1, 1, ''
) as VALUE1,
stuff(
(
SELECT ',' + VALUE2 FROM tb AS t WHERE t.id = tb.id FOR xml path ('')
), 1, 1, ''
) as VALUE2
FROM tb GROUP BY id
在MySQL中需要以下代码查询
select id, group_concat(value1)value1,group_concat(value2)value2 from tb group by id;
这里不是说MySQL比sqlserver好用,只是总结相同的数据在两个数据库中使用不同的方法函数得到相同的结果。
例如如下sql
-- 得到两个日期之间相差的月份数,也可以得到相差天数,只需要替换函数中第一个参数,注意各函数参数的取值范围,有兴趣的试下其他的。
1 select DATEDIFF(M,'','');-- sqlserver
select TIMESTAMPDIFF(MONTH,'','');-- mysql
-- 第二个参数是否包含第一个参数,如果包含返回1,不包含返回0
1 select charindex('a','abcd');-- sqlserver
select LOCATE('a','abcd');-- mysql
还有sqlserver 的SUBSTRING和mysql的SUBSTR
create table test2 as select * from test1;-- mysql
select * into test2 from test1;-- sqlserver
最新文章
- [原创]解决net-speeder与pptp不兼容的问题
- 浅谈WebSocket
- Winform启动隐藏,WebBrowser交互JS
- easylui datagrid 动态生成列
- C# 添加图片资源
- [Effective C++ --005]了解C++默默编写并调用哪些函数
- Ubuntu与Ubuntu系统之间的mount挂载
- asp.net从服务器(指定文件夹)下载任意格式的文件到本地
- POJ 1823 Hotel 线段树
- 【CSS】 CSS基础知识 属性和选择
- django面试题
- XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax
- 关于忘记Jenkins管理员密码的解决办法
- ckeditor 在dwz里面使用
- Docker容器学习梳理 - 私有仓库Registry使用
- 基于canvas的电子始终
- EF5+MVC4系列(7) 后台SelectListItem传值给前台显示Select下拉框;后台Action接收浏览器传值的4种方式; 后台Action向前台View视图传递数据的四种方式(ViewDate,TempDate,ViewBag,Model (实际是ViewDate.Model传值))
- window系统JAVA开发环境的搭建
- zabbix 报警方式之 邮件报警(4)
- webservice简单例子
热门文章
- ASP.NET MVC 源码分析(二) —— 从 IRouteBuilder认识路由构建
- Python3-paramiko-SFTP上传文件夹到多台远程服务器
- MVC.Net:压缩/保存图片缩略图
- java 效率编程 的一些小知识点
- gitserver提交代码的总结
- Spring源代码解析和配置文件载入
- 3.CCFadeOutTRTiles,部落格效果,跳动的方块特效,3D瓷砖晃动特效,破碎的3D瓷砖特效,瓷砖洗牌特效,分多行消失特效,分多列消失特效
- luogu1052 过河
- CH Round #24 - 三体杯 Round #1-C 逃不掉的路
- PCB Genesis加二维码 实现方式