【转】SQL Server、Oracle、MySQL和Vertica数据库常用函数对比
SQL Server、Oracle、MySQL和Vertica数据库常用函数对比
Vertica数据库是HP公司新收购的用于BI方面的数据库。
1. 绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
M:select abs(-1) value from dual
V:select abs(-1)
2. 向上取整
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
M:select ceil(-1.001) value from dual
V:select ceil(-1.001)
3. 向下取整
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
M:select floor(-1.001) value from dual
V:select floor(-1.001)
4. 取整(截取)
S:select cast(-1.002 as int) value
O:select trunc(-1.002) value from dual
V:select trunc(-1.002)
5. 四舍五入
S:select round(1.23456,4) value 1.23460
O:select round(1.23456,4) value from dual 1.2346
M:select round(1.23456,4) value from dual 1.2346
V:select round(1.23456,4.0)
6. e为底的幂
S:select Exp(1) value 2.71828182845905
O:select Exp(1) value from dual 2.71828182
M:select Exp(1) value from dual 2.718281828459045
V:select Exp(1.0) 2.71828182845905
7. 取e为底的对数
S:select log(2.7182818284590451) value 1
O:select ln(2.7182818284590451) value from dual; 1
M:select ln(2.7182818284590451) value from dual; 1
V: select ln(2.7182818284590451) 1
8. 取10为底对数
S:select log10(10) value 1
O:select log(10,10) value from dual; 1
M:select log(10,10) value from dual; 1
M: select log(10,10) 1
9. 取平方
S:select SQUARE(4) value 16
O:select power(4,2) value from dual 16
M:select power(4,2) value from dual 16
V:select power(4,2) 16
10. 取平方根
S:select SQRT(4) value 2
O:select SQRT(4) value from dual 2
M:select SQRT(4) value from dual 2
V:select SQRT(4) 2
11. 求任意数为底的幂
S:select power(3,4) value 81
O:select power(3,4) value from dual 81
M:select power(3,4) value from dual 81
V:select power(3,4) 81
12. 取随机数
S:select rand() value
O:select sys.dbms_random.value(0,1) value from dual;
M:select rand() value from dual;
V:select random()
13. 取符号
S:select sign(-8) value -1
O:select sign(-8) value from dual -1
M:select sign(-8) value from dual -1
V:select sign(-8) -1
14. 圆周率
S:SELECT PI() value 3.14159265358979
O: SELECT ACOS(-1) FROM DUAL;
M: SELECT ACOS(-1) FROM DUAL; 3.141592653589793
V: SELECT PI() 3.14159265358979
数值间比较
15. 求集合最大值
S:select max(value) value from
(select 1 value
union
select -2 value
union
select 4 value
union
select 3 value)a
O:select greatest(1,-2,4,3) value from dual
M:select greatest(1,-2,4,3) value from dual
V:select greatest(1,-2,4,3)
16. 求集合最小值
S:select min(value) value from
(select 1 value
Union
select -2 value
union
select 4 value
union
select 3 value)a
O:select least(1,-2,4,3) value from dual
M:select least(1,-2,4,3) value from dual
V:select least(1,-2,4,3)
17. 如何处理null值(F2中的null以10代替)
Create table tbl (f1 varchar(10),f2 int);
Insert into tbl(f1,f2) values(‘aa’,null);
Insert into tbl(f1,f2) values(‘bb’,7);
S:select F1,IsNull(F2,10) value from Tbl
O:select F1,nvl(F2,10) value from Tbl
M:select F1,ifnull(F2,10) value from Tbl
V:select F1,IsNull(F2,10) value from Tbl
18. 求字符ascii码
S:select ascii('a') value
O:select ascii('a') value from dual
M:select ascii('a') value from dual
V:select ascii('a')
19. 从ascii码求字符
S:select char(97) value
O:select chr(97) value from dual
M:select char(97) value from dual
V:select chr(97)
20. 连接字符串
S:select '11'+'22'+'33' value
O:select CONCAT('11','22') 33 value from dual
M:select concat('11','22','33') value
V:select '11'||'22'||'33'
21. 子串位置 --返回3
S:select CHARINDEX('s','sdsq',2) value
O:select INSTR('sdsq','s',2) value from dual
M:select LOCATE('s','sdsq',2) value from dual
V:select INSTR('sdsq','s',2)
22. 求子串
S:select substring('abcd',2,2) value
O:select substr('abcd',2,2) value from dual
M:select substr('abcd',2,2) value from dual
V:select substr('abcd',2,2)
23. 子串代替 返回aijklmnef
S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value
O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual
M:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual
V:SELECT Replace('abcdef', 'bcd', 'ijklmn')
24. 字符串长度
S:len,datalength
O: select length('aaa') value from dual
M: select length('aaa') value from dual
V: select length('aaa '::CHAR(10))
Select length('aaa '::varchar(10))
select length('aaa')
25. 大小写转换 lower,upper
26. 左补空格(LPAD的第一个参数为空格则同space函数)
S:select space(10)+'abcd' value
O:select LPAD('abcd',14) value from dual
M:select LPAD('abcd',14, ' ') value from dual
V:select LPAD('abcd',14, ' ') value from dual
27. 右补空格(RPAD的第一个参数为空格则同space函数)
S:select 'abcd'+space(10) value
O:select RPAD('abcd',14) value from dual
M:select RPAD('abcd',14, ' ') value from dual
V:select RPAD('abcd',14, ' ') value from dual
28. 删除空格
S:ltrim,rtrim
O:ltrim,rtrim,trim
M:ltrim,rtrim,trim
V:ltrim,rtrim,trim
日期函数
29. 系统时间
S:select getdate() value
O:select sysdate value from dual
M:select now() value from dual
V:select sysdate()
select getdate()
select now() 会显示时区
30. 前后几日
S:直接与整数相加减
O:直接与整数相加减
M: select now()+interval 1 day value from dual
V:直接与整数相加减
31. 求日期
S:select convert(char(10),getdate(),20) value
O:select trunc(sysdate) value from dual
select to_char(sysdate,'yyyy-mm-dd') value from dual
M:select DATE_FORMAT(NOW(),'%Y-%m-%d') value from dual;
V:select to_char(sysdate(),'YYYY-MM-DD')
32. 求时间
S:select convert(char(8),getdate(),108) value
O:select to_char(sysdate,'hh24:mm:ss') value from dual
M:select DATE_FORMAT(NOW(),'%T') value from dual
V:select to_char(sysdate,'hh24:mi:ss')
33. 取日期时间的其他部分
S:DATEPART 和 DATENAME 函数 (第一个参数决定)
O:to_char函数 第二个参数决定
参数---------------------------------下表需要补充
year yy, yyyy
quarter qq, q (季度)
month mm, m (m O无效)
dayofyear dy, y (O表星期)
day dd, d (d O无效)
week wk, ww (wk O无效)
weekday dw (O不清楚)
Hour hh,hh12,hh24 (hh12,hh24 S无效)
minute mi, n (n O无效)
second ss, s (s O无效)
millisecond ms (O无效)
----------------------------------------------
M:date_format函数 第二个参数决定
|
格式 |
描述 |
|
%a |
缩写星期名 |
|
%b |
缩写月名 |
|
%c |
月,数值 |
|
%D |
带有英文前缀的月中的天 |
|
%d |
月的天,数值(00-31) |
|
%e |
月的天,数值(0-31) |
|
%f |
微秒 |
|
%H |
小时 (00-23) |
|
%h |
小时 (01-12) |
|
%I |
小时 (01-12) |
|
%i |
分钟,数值(00-59) |
|
%j |
年的天 (001-366) |
|
%k |
小时 (0-23) |
|
%l |
小时 (1-12) |
|
%M |
月名 |
|
%m |
月,数值(00-12) |
|
%p |
AM 或 PM |
|
%r |
时间,12-小时(hh:mm:ss AM 或 PM) |
|
%S |
秒(00-59) |
转至:http://blog.sina.com.cn/s/blog_538b15550101glvj.html
【转】SQL Server、Oracle、MySQL和Vertica数据库常用函数对比的更多相关文章
- Vertica的这些事(二)——SQL-Server、Oracle、MySQL和Vertica数据库常用函数对比
SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 绝对值 S:select abs(-1) value O ...
- 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析
对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...
- [转]SQLServer和Oracle,存储过程区别,常用函数对比
本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要 ...
- SQL Server和MySql获取当前数据库每个表的列数
Sql server:(连接数据库后,点击当前数据库再新建查询) select count(c.name),o.name from syscolumns c left join sysobjects ...
- SQL Server进阶(十二)常用函数
在SQL 2012基础教程中列出子句是按照以下顺序进行逻辑处理. FROM WHERE GROUP BY HAVING SELECT ORDER BY FROM TableName WHERE Use ...
- 从SQL Server到MySQL,近百亿数据量迁移实战
从SQL Server到MySQL,近百亿数据量迁移实战 狄敬超(3D) 2018-05-29 10:52:48 212 沪江成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:J ...
- 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库
开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...
- 数据库 SQL Server 到 MySQL 迁移方法总结
最近接手一起老项目数据库 SQL Server 到 MySQL 的迁移.因此迁移前进行了一些调查和总结.下面是一些 SQL Server 到 MySQL 的迁移方法. 1. 使用 SQLyog 迁移 ...
- SQL Server和MySQL数据库
导读:接下来的网上商城的项目,需要用到MySQL数据库了.这个对于我来说,是一个新接触的东西,按照惯例,在刚开始学习一个东西的时候,先从宏观上去了解它.本篇博客,先介绍SQL Server的基本内容, ...
随机推荐
- 安卓使用Root权限实现后台模拟全局按键、触屏事件方法(类似按键精灵)
继续在网上搜索安卓按键模拟(其实那时都不知道用什么关键字好了,能想到的关键字都用遍了,但是搜索出来的结果,都是之前提到的那几个依赖源码环境和系统权限的方案).发现有很多介绍ADB调试,向手机发送按键事 ...
- Centos 升级 python
昨天把redmine的测试环境给搞Over了,想了下,干脆直接把环境给整成docker化的,配置环境的时候,安装docker-compose需要python2.7支持. CentOS 6 系统默认 P ...
- Hive show
CREATE TABLE page_view(viewTime INT, userid BIGINT,p_date timestamp, page_url STRING, referrer_url v ...
- informix数据库知识积累
一.嵌套查询 informix子查询:嵌套查询(1)select first 20 * from (select first 40 * from hlrquery_log order by id de ...
- ubuntu常用技巧积累
1.修改root密码,一般与用户密码不同 python@ubuntu:~$ sudo passwd[sudo] password for python: 输入新的 UNIX 密码: 重新输入新的 UN ...
- 第四课(1)——MySQL体系结构
学习目标 一.MySQL体系结构 二.MySQL内存结构 三.MySQL文件结构 四.Innodb体系结构 MySQL体系结构 一.MySQL体系结构图 1.Mysql是由SQL接口,解析器,优化器, ...
- 非常可乐---hdu 1495(BFS)
http://acm.hdu.edu.cn/showproblem.php?pid=1495 题意: 有3个杯子a b c:a=b+c:然后刚开始时只有a是满的,其它为空的,然后a b c三个之间互相 ...
- grunt学习二
1. 新建文件和文件目录 mkdir grunt-in-action cd grunt-in-action cd grunt-in-action mkdir grunt-empty cd grunt- ...
- Shell初学(三)传参
一. 脚本代码:test.sh echo "Shell 传递参数实例!"; echo "执行的文件名:$0"; echo "第一个参数为:$1&quo ...
- 【点击模型学习笔记】Modeling contextual factors of click rates_MS_AAAI2007
概要 并没有觉得这是篇高质量的文章,非常奇怪为什么可以发表在AAAI上面. 文章的创新点比較单薄:在传统点击率预測模型(LR)的基础上增加了两类新的特征,一个是位置特征.一个是广告上下文特征--即和它 ...