最近在写一个数据访问层,要求可以使用MySQL和MS SQL Server。html

烦劳今后开始,MySQL与MS SQL Server的大量不一致让人烦不胜烦,为了使其余人再也不犯本身工做过程当中犯下的错误,而且,有个地方记录本身的心得体会,特分享以下:mysql

这里MySQL使用的是C APIc++

MS SQL Server使用的是ADOsql

一.列类型问题数据库

1.时间类型数组

真是不作不知道,作了才知道,MySQL存储日期时间的格式为:2010-09-02 15:01:01, 而MS SQL Server存储的日期时间格式为:2010-9-2 15:01:01函数

获取当前日期时间的日期时间函数,MySQL为NOW(),MS SQL Server为GetDate(),即:编码

MySQL:insert into(time) values(NOW());spa

MS SQL Server:insert into(time) values(GetDate());code

MySQL中的相关函数为:

NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,能够直接存到DATETIME字段中。

CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,能够直接存到DATE字段中。

CURTIME()以’HH:MM:SS’的格式返回当前的时间,能够直接存到TIME字段中。

2.二进制数组

存储二进制文件,SQL怎么写?

MySQL:insert into(binary) values('这里必须写通过mysql_real_escape_string转义后 的字符串,注意哦,左右但是有单引号的');

或者insert into(binary) values(0xABCDEF1234567890);

MS SQL Server:insert into(binary) values(0xABCDEF1234567890);

注意:0xABCDEF1234567890为通过转义后 的16进制串

当以上全部存储的数据取出后,结果直接为 转义前 的二进制字符串

如何将一个二进制字符串转化为0x......

long toX(char * pDst, long DstLen, const char * pSrc, long SrcLen)

{

if(NULL == pDst || NULL == pSrc)

{

return -1;

}

if(DstLen < 2*Src + 3)

{

return -1;

}

*pDst++ = '0';

*pDst++ = 'x';

const char tab[] = "0123456789ABCDEF";

for(int i=0;i

{

*pDst++ = tab[*pSrc>>4];

*pDst++ = tab[*pSrc&0x0F];

pSrc++;

}

*pDst = '/0';

return 2*Src + 3;

}

3.字符串

MySQL:insert into(binary) values('这里必须写通过mysql_real_escape_string转义后 的字符串,注意哦,左右但是有单引号的');

MS SQL Server:insert into(binary) values('这里直接写便可,可是,若是是特殊字符,须要记得数据库使用Unicode编码');

二.相关资源供查询

MySQL中文手册:http://dev.mysql.com/doc/refman/5.1/zh/index.html

MS SQL Server在MSDN上的资料:http://msdn.microsoft.com/zh-cn/library/ms203721%28v=sql.90%29.aspx

transact sql mysql_MySQL与Transact SQL(MS SQL Server)的SQL语句区别点滴(C++)相关推荐

  1. 优化的ms sql server分页sql语句

    优化的ms sql server分页sql语句 发布时间: 2009-8-15 00:00 |  发布作者: hjh |   |  查看: 3次 特点:一次查询,数据库Databnse只返回一页的数据 ...

  2. MS“未与信任SQL Server连接相关联”跟在使用ASP.NET网站管理工具出现“遇到错误。请返回上一页并重试。”的解决办法!...

    今天老师讲了一些关于成员权限跟注册登录这些控件的使用. 回来测试的时候,先是用aspnet_regsql让系统自动创建数据库,可是到了最后一步却出现了MS"未与信任SQL Server连接相 ...

  3. SQL Server中SQL是什么?

    含义和定义 (Meaning and definition) SQL stands for Structured Query Language, a language for manipulating ...

  4. 一条SQL要28秒 mysql_一条简单的 SQL 执行超过 1000ms,纳尼?

    阅读本文大概需要 2.8 分钟. MySQL 对我说 "Too young, too naive!" ▌大概过程 在测试环境 Docker 容器中,在跨进程调用服务的时候,A 应用 ...

  5. sql在线模拟器_力荐一款在线SQL模拟器

    我在旧文里给大家推荐了几款在线SQL模拟器,不知道大家都安排上没?最近又发现了一款模拟器,试用了一段时间感觉还不错,今天就把它介绍给大家. 今天要给大家介绍的主角叫做 SQL Online.在正式介绍 ...

  6. html连接数据库id号自动生成器,SQL Server数据库sql语句生成器(SqlDataToScript)的使用(sql server自增列(id)插入固定值)...

    SqlDataToScript是根据表数据进行生成 Insert Into语句,此工具还有一个好处是可以对自增列插入固定值,例如:自增的列id值为5,但是5这个行值已经删除,如果想存储Id自增列值为5 ...

  7. sql ddl中key_SQL DDL:SQL Server中SQL DDL命令入门

    sql ddl中key This article explains SQL DDL commands in Microsoft SQL Server using a few simple exampl ...

  8. SQL防注入大全——史上最全的 SQL 注入资料

    什么是 SQL 注入速查表? SQL注入速查表是可以为你提供关于不同种类 SQL注入漏洞 的详细信息的一个资源.这份速查表对于经验丰富的渗透测试人员,或者刚开始接触 Web应用安全 的初学者,都是一份 ...

  9. MS-SQL Server 基础类 - SQL语句

      网址收藏夹 免费申请! 首页 |收藏夹 | 笑话 | 贴吧 | 交友 | 留言 | 软件 | 超市 | 网页特效 | 酷站导航 | 论坛 新闻 | 同学录 | 图片 | 跑商 | 动画 | 音乐 ...

最新文章

  1. 人生苦短,我要换Go!
  2. [原创分享] SocketCapture 网络抓包工具
  3. CnetOS中开关网络服务
  4. python3 解析html_Python3.x网页抓取HTMLParser
  5. 区块链软件公司:区块链使用程序如何成为战胜商场应战的垫脚石
  6. python压缩文件为zip-python 压缩文件为zip后删除原文件
  7. UI学习笔记---EasyUI panel插件使用---03
  8. Pandas——Series与DataFrame
  9. 力扣-628 三个数的最大乘积
  10. idea安装阿里巴巴Java开发规范插件
  11. 什么是拨号Internet连接?
  12. 数据防泄漏对于数据安全的重要性
  13. 数码相机图像处理原理
  14. matlab-高数 diff 方向导数
  15. 2007软件英雄会暨CSDN社区英雄榜颁奖典礼邀请人员名单
  16. 统计一组名字中每个姓出现的次数
  17. Python:对图片批量进行重命名
  18. 计算机网络ospf实验报告,中山大学《计算机网络实验报告》10-OSPF实验.pdf
  19. 英伟达GTC 公告确认这是一个互联的多芯片世界
  20. 基于JAVA图书借阅系统

热门文章

  1. Java如何进行Base64的编码(Encode)与解码(Decode)?
  2. 前端CSS代码格式化、JavaScript代码格式化函数
  3. js实现复制图片到剪切板下载图片
  4. 项目经历怎么写_工作经历、项目经验怎么写?
  5. rm -rf和rm -f和rm
  6. TZT3818Y 静态信号测试分析系统
  7. 一款适合程序员的流程图/思维导图利器
  8. FPGA学习:Verilog基本语法
  9. 【C++学习笔记】标准库类型string
  10. vue实现tagsview多页签导航功能