MySQL与MSSQL的一些语法差异(持续更新中)
分号不能少;分号不能少;分号不能少;重要的事情说3遍
Insert或者Update的数据包含反斜杠\的时候需要进行转义\\,例:insert into tablename(id,name) values(1,'刘\\一哥'); -- 保存到数据库后就是 1 刘\一哥
一、变量申明(非常重要)
1.带@的变量不需要申明直接使用
select columnname into @V_ColumnName from tablename Limit 0,1;
select @V_ColumnName;
2.变量申明必须放在最前面,包括申明游标(如果游标是基于临时表的循环也是一样的,先申明游标,在后面创建循环的临时表);
3.存储过程中的变量申明不能使用@
例:Declare V_ID1,V_ID2 INT Default 0;
4.变量的命名千万不要和字段名称一致,否则MySQL数据库会把字段当成是变量;比如可以在前面加上V_,例:V_ColumnName
二、MySQL不支持匿名块
例如:
DECLARE V_ColumnName varchar(50);
select columnname into V_ColumnName from tablename LIMIT 0,1;
select V_ColumnName; -- 会报错,是不是很奇怪?明明没有语法错误吧,新手会这些问题搞得郁闷到死
这种语句在MySQL中是不能执行的,如果要执行就必须放到存储过程或函数中;
三、存储过程的调用
call procedure_name(参数1,参数2……);
如果有OUT参数,例如:Create Procedure SP_TEST(IN Param1 int, OUT Param2 int)
call SP_TEST(1,@Param2);
select @Param2;
四、临时表
不需要#号,#在MySQL是单行注释符,在存储过程中使用临时表必须先判断是否存在,否则同一进程中第二次执行存储过程就会提示表已经存在了
例:DROP TEMPORARY TABLE IF EXISTS tmptable;
Create TEMPORARY TABLE tmptable(……);
五、IF语句
IF ... THEN ... ELSEIF ... THEN ... ELSE ... END IF;
记住千万不要闲得蛋疼给它加BEGIN END就对了;
六、视图
不能在视图中使用子查询,例:select * from (select * from xxx) as x; --会报错的
如果实在需要这样做,就创建2个视图进行嵌套;
七、数据库内部函数
1.类型转换函数:MySQL和MSSQL的类型转换函数名称都是CAST和CONVERT,但CONVERT函数的参数有些不太一致;
MSSQL的语法如下:
CAST ( expression AS data_type [ ( length ) ] ) CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) |
MySQL的语法如下:
CAST ( expression AS data_type ( length ) ); CONVERT ( expression , data_type ( length ) ); |
但MYSQL中的类型转换函数有一些限制,type只能是以下几种类型:
BINARY[(N)]CHAR[(N)]DATEDATETIMEDECIMAL[(M[,D])]SIGNED [INTEGER]TIMEUNSIGNED [INTEGER]
使用的时候需要注意,诸如:SELECT CAST(0 AS INT); -- 这种写法是行不通的,给我乖乖改成--> SELECT CAST(0 AS SIGNED);
2.获取字符串长度函数
MYSQL中的CHAR_LENGTH()等同MSSQL中的LEN();
MYSQL中的LENGTH()等同MSSQL中的DATA_LENGTH();
未完待续……
MySQL与MSSQL的一些语法差异(持续更新中)的更多相关文章
- 史上最全的spark面试题——持续更新中
史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题 版权声明:本文为博主原创文章,遵循C ...
- Pig基础学习【持续更新中】
*本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...
- Pig语言基础-【持续更新中】
***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.*** Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...
- java视频教程 Java自学视频整理(持续更新中...)
视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...
- 《WCF技术剖析》博文系列汇总[持续更新中]
原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...
- 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)
Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...
- 白话kubernetes的十万个为什么(持续更新中...) - kubernetes
Kubernetes简称? 答:k8s或kube. Kubernetes是什么? 答:由Google开发的一个强大的平台,可以在集群环境中管理容器化应用程序.本质上是一种特殊的数据库,里面存储的是能够 ...
- EOS开发经验总结——不定期持续更新中
一.新手安装mysql乱码问题 1.数据库安装时设置默认编码格式为UTF8或者打开mysql安装目录下my.ini,变更default-character-set=utf8: 2.打开EOS的Gove ...
- 2020年腾讯实习生C++面试题&持续更新中(3)
2020年腾讯实习生C++面试题&持续更新中(3) hello,大家好,我是好好学习,天天编程的天天. 来给大家大家分享腾讯实习生面经了. 天天希望大家看到面经后一定要做充分的准备,结合自己掌 ...
随机推荐
- 如何关闭OSX 10.11 SIP (System Integrity Protection)
http://www.jianshu.com/p/0572336a0771 注意:SIP功能是Apple在OSX上推出的系统完整性保护功能,对于普通MAC用户来说是一项安全保护功能,如果不了解他的作用 ...
- OpenCV2:第八章 界面事件
一.简介 OpenCV中提供了程序界面中的鼠标和键盘事件 二.鼠标事件 // 设置鼠标回调函数 void setMouseCallback ( const string& winname, ...
- Springboot邮箱接口(使用个人邮箱发送邮件)
近期项目使用邮件验证,这里使用个人邮箱进行测试,记录开发笔记 SpringBoot自带短信接口 maven pom.xml 引入: <dependency> <groupId> ...
- 分享一个C++与Python开发的中小型通用游戏服务端框架(跨平台,开源,适合MMORPG游戏)
在开发一款游戏项目时,在立项时我们往往会考虑或者纠结很多,比如: 1,对于开发来说:服务端和客户端应该选择什么语言?用什么协议通信才更效率?协议后期如何维护?Socket是用长连接还是短连接?TCP还 ...
- PAT 乙级 1013
题目 题目地址:PAT 乙级 1013 思路 审题没把范围看清楚,没一次AC 题中m和n都表示第几个素数,范围是10000,所以查询的数组中需要的素数量至少10000,所以需要计算大概2~120000 ...
- (56)zabbix Screens视图配置
screen翻译成中文为“屏幕”,在超市.单位等等地方都比较常见到监控视频,视频上有多块小视频,实际上zabbix screen和这个功能类似.你可以设置多个screen,每个screen可以显示特定 ...
- (34)zabbix Queue队列
概述 queue(队列)显示监控项等待刷新的时间,可以看到每种agent类型刷新时间,通过queue可以更好的体现出监控的一个指标.正常情况下,是一片绿色. 如果出现过多红色,那么需要留意一下.我们也 ...
- 创建yum仓库
第1章 服务端)创建yum仓库目录 命令:(创建)mkdir -p /application/yum/centos6.6/x86_64/ 命令:(切换)cd /application/yum/cent ...
- 文件的软硬链接& 文件编辑vi和vim
目录 文件的软硬链接 1.软链接 2.硬链接 文件编辑vi和vim 须先安装vim命令的软件包yum install -y vim 三种模式: 1.普通模式 2.编辑模式 3.末行模式 文件的软硬链接 ...
- Python9-字典-day5
数据类型划分:可变数据类型,不可变数据类型不可变数据类型:元祖 bool int str 可哈希可变数据类型:list,dic set 不可哈希dict key 必须是不可变数据类型,可哈希 valu ...