sql差异
类别 |
MS SQL Server |
My SQL |
PG SQL |
Oracle |
Access |
| 自增 | identity(1,1) |
auto_increment ALTER TABLE 'tableName' AUTO_INCREMENT=100 |
|||
| 日期 | getdate(),getutcdate() |
now(),utc_timestamp() |
|||
| 执行储存过程 | exec(ute) |
call |
|||
| 存储过程跳出 | return |
不能使用return |
|||
| 字符串相加 | '1'+'2' |
concat('1','2')
|
|| 或 concat | ||
| dual表 | x |
select 1 (from dual where 1>0) |
select 1 from dual |
x | |
| update行数据 | 同时 |
更新依次从左到右 |
同时 |
||
| 通配符 | % 任意长度,_ 单个字符 |
% 任意长度,_ 单个字符 |
% 任意长度,_ 单个字符 |
* 任意长度,? 单个字符 | |
| 取模 | 7%6 |
7%6 |
MOD(7,6) |
7 MOD 6 | |
| 星期几 | DATEPART(DW,date) |
DAYOFWEEK(data) |
TO_CHAR(date,'D') |
DatePart('w',date) | |
| 自然对数 | LOG |
LN |
LN |
LOG | |
| True | 1 |
1 |
1 |
-1 | |
| 唯一码 | NewID() |
UUID() |
SYS_GUID() |
||
| 后n行 | 借助top |
offset n |
借助rownum |
||
| 更改表名 |
EXEC sp_rename 'table1', 'table2'; |
rename table table1 to table2; |
alter table table1 rename to table2 |
||
| 更改字段名 |
EXEC sp_rename N'dbo.test_tab.val', N'val2', 'COLUMN' |
alter table t change physics physisc char(10); |
|||
| 使用关键字 |
[type] |
"type" | |||
| 默认时间 |
datetime getDate() |
TIMESTAMP CURRENT_TIMESTAMP() | |||
| between and范围 |
0<=x<=1 |
0<=x<=1 | |||
| 参数符号 |
@id |
?id | :id | ? | |
| 列信息 |
SELECT c.name AS ColumnName , |
show full columns in {0}; |
select distinct
column_name, format_type(atttypid, atttypmod) dataType, is_nullable, description, (pg_attribute.attnum =Any(pg_constraint.conkey)) isPrimaryKey, col.ordinal_position from pg_class c inner join information_schema.columns col on c.relname=col.table_name left join pg_description d on c.oid=d.objoid and col.ordinal_position =d.objsubid left join pg_constraint on pg_constraint.conrelid = c.oid and pg_constraint.contype='p' left join pg_attribute on pg_attribute.attrelid = c.oid and pg_attribute.attname=col.column_name where c.relname='{0}' order by ordinal_position; |
||
| 修改列默认值 |
ALTER TABLE dbo.T_Product ADD CONSTRAINT DF_T_Product_ProductSort DEFAULT 0 FOR ProductSort |
||||
| 查询表是否存在 |
--如果是实表可以用 --如果是临时表可以用 |
||||
| 删除索引 |
DROP INDEX index_name ON table_name |
ALTER TABLE table_name DROP INDEX index_name | DROP INDEX index_name | DROP INDEX index_name ON table_name | |
| 复制表结构 | select * into newTable from table where 1=0 |
create table newTable like table |
|||
| 库存在 | if exists(select * from master..sysdatabases where name=N'库名') | ||||
| 存储过程是否存在 | if exists(select 1 from sysobjects where id=object_id('所有者.存储过程名') and xtype='P') print '存在' else print '不存在' |
||||
| 视图存在 | --SQL Server 2000 IF EXISTS (SELECT * FROM sysviews WHERE object_id = '[dbo].[视图名]' --SQL Server 2005 IF EXISTS (SELECT * FROM sys.views WHERE object_id = '[dbo].[视图名]' |
||||
| 函数名是否存在 | if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[函数名]') and xtype in (N'FN', N'IF', N'TF')) |
sql差异的更多相关文章
- HiveQ与传统SQL差异
1. hive内连接支持什么格式? • SQL中对两表内联可以写成: select * from dual a,dual b where a.key = b.key; 或者: SEL ...
- mysql 和 sqlserver sql差异比较
mysql:select * from table_name limit 100,200;--取出从100到200的数据 获取时间:mysql:now() mysql tinyint(0,1) → b ...
- Mysql 和 SQLServer 使用SQL差异比较
查询前100条数据 #mysql ; #sqlserver * from table_name ; 从数据库.表 定位表 #mysql写法:库名.表名 select password from Inf ...
- 业界最具影响力MySQL精品文章荟萃(300篇)
MySQL是一种关联数据库管理系统,SQL语言是用于访问数据库的最常用标准化语言.本文档收集的资料有MySQL数据库备份与恢复,配置,解决方案等,供大家方便统一阅读. 博客专题 1 MySQL ...
- CSDN Oracle版精华帖荟萃
⑴ 关于大数据量的数据库设计问题http://bbs.csdn.net/topics/390382930⑵ ORA-00904标识符无效http://bbs.csdn.net/topics/39033 ...
- Php ORM 对象关系映射
ORM的全称是Object Relational Mapping,即对象关系映射.它的实质就是将关系数据(库)中的业务数据用对象的形式表示出来,并通过面向对象(Object-Oriented)的方式将 ...
- mysql之6备份恢复
基本意义: 将数据另存到其他设备,以便于出现问题时恢复数据 为什么要备份: 灾难恢复:需求改变:测试 几个事先需要考虑的问题: 可以容忍丢失多长时间的数据?恢复要在多长时间内完成?是否 ...
- Django Web开发【3】创建网络收藏夹
这一节我们将继续一个创建网络收藏夹应用,并学习视图.模型以及模板的处理过程. Django是一个MVC开发框架,但是它的控制器对应的为view,而视图对应为模板(template),模型对应model ...
- Python3+SQLAlchemy+Sqlite3实现ORM教程
一.安装 Sqlite3是Python3标准库不需要另外安装,只需要安装SQLAlchemy即可.本文sqlalchemy版本为1.2.12 pip install sqlalchemy 二.ORM操 ...
随机推荐
- HDU 3613 Best Reward(扩展KMP)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=3613 [题目大意] 一个字符串的价值定义为,当它是一个回文串的时候,价值为每个字符的价值的和,如果 ...
- Windows下如何建立以"."开头的文件夹
Windows资源管理器不允许创建点开头的文件或文件夹,但在cmd命令提示符下是可以的: 创建命令: md d:\.myfolder .myfolder就是以点开头的文件夹的名称
- 10491 - Cows and Cars
描述:要么全选择牛,要么选择一辆车和p-1头牛,那么剩下n+m-p道门可以选择,求选择p道门以后要选择到车的概率 #include <cstdio> int main() { //freo ...
- java思考题
1.仔细阅读示例: EnumTest.java,运行它,分析运行结果? 你能得到什么结论?你掌握了枚举类型的基本用法了吗? public class EnumTest { public static ...
- The Painter's Partition Problem Part II
(http://leetcode.com/2011/04/the-painters-partition-problem-part-ii.html) This is Part II of the art ...
- Insert into a Cyclic Sorted List
Given a node from a cyclic linked list which has been sorted, write a function to insert a value int ...
- js函数变量
局部 JavaScript 变量 在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域是局部的). 您可以在不同的函数中使用名称相同的局部 ...
- [转] iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统.这建立在任务并行执行的线程池模式的基础上的.它首 ...
- Object-c Block的使用及说明
Object-c 中的block就好像一段C函数般,由函数名,有返回值,有参数,由函数体等 1.简单的block ^(int A ,int B) { int C=A*B; return C; }; 上 ...
- 24_Core Data Demo
今天开始学习Core Data,类似于数据库,可以永久保存数据.不过当把App从iPhone删掉之后就没有了.可以用来保存App的运行数据. 参考链接:iOS Swift教程 Core Data 概述 ...