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,大家好,我是好好学习,天天编程的天天. 来给大家大家分享腾讯实习生面经了. 天天希望大家看到面经后一定要做充分的准备,结合自己掌 ...
随机推荐
- 验证IP端与数据库Ip端是否重复!!!
select COUNT(id) from house_info_config hic where (hic.ip_start <![CDATA[<=]]> #{ipend} AND ...
- ios之自定义UISwitch
系统自带的UISwitch是这样的: 既不能写字,也不能改颜色,于是在网上找到了这么一个自定义的Switch按钮,具体出处找不见了.记录一下,怕以后找不见了. 先看下效果图: 按钮的样式很多,可以文字 ...
- minGw64编译Qt时遇到too many sections问题
minGw64编译Qt时遇到too many sections问题: 修改\Src\qtbase\mkspecs\win32-g++\qmake.conf中 QMAKE_CFLAGS ...
- PHP操作MySQL事务实例
PHP与MYSQL事务处理 一般来说,事务都应该具备ACID特征.所谓ACID是Atomic(原子性),Consistent(一致性),Isolated(隔离性),Durable(持续性)四个词的首字 ...
- verilog behavioral modeling --procedural assignments
1.procedural assignments are used for updating reg ,integer , time ,real,realtime and memory data ty ...
- Verilog学习笔记基本语法篇(四)·········块语句
块语句是指将两条或者两条以上的语句组合在一起,使其在格式上更像一条语句.块语句分为两种: 1)用begin_end语句,通常用来标识顺序执行的语句,用它标识的块称作顺序块: 2)用fork_join语 ...
- Python 对Mysql的操作
Mysql链接不同的数据库 如果python的模板是按照mysql来写的,后面数据库更换为了Oracle,难道需要重现再来写,当然不是,python提供了API接口,只要编写是面对api,后面的链接会 ...
- Python 多级目录选择+一键正反排序
效果如图所示,可以根据条件来选择对象 cat pc.py #!/usr/bin/pythonfrom flask import Flask,render_template,request,redire ...
- Java-使用哈希码比较对象的值
在一些特殊的情况下使用 package com.tj; import java.io.File; public class MyHash { public static void main(Strin ...
- NOS跨分区灾备设计与实现
本文来自网易云社区 作者:王健 摘要 NOS(网易对象存储)在实现多机房(杭州机房,北京机房等)部署后,允许一个用户在建桶时选择桶所属机房.在此基础上,我们实现了跨机房的数据复制,进一步实现了跨机房的 ...