您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

SQL:DBMS函数的差异(限制输出结果、拼接字段)

文章目录

  • 限制输出结果
  • 拼接字段
  • 日期和时间处理函数
  • DBMS函数的差异汇总

限制输出结果

SQL Serve

select top 5 prod_name
from Products;

DB2

select prod_name
from Products
fetch first 5 rows only;

Oracle

select prod_name
from Products
where rownum <= 5;

MySQL、MariaDB、PostgreSQL、SQLite

select prod_name
from Products
limit 5;

延申:输出从第5行开始的4行数据

#方法一
select prod_name
from Products
limit 4 offset 5 ;

#方法二
select prod_name
from Products
limit 5,4

拼接字段

SQL Serve

#返回数据可能包含列宽
select vend_name + '(' + vend_country + ')'
from Vendors
order by vend_name;

#正确返回格式化数据,去掉多余空格
select rtrim(vend_name) + '(' + rtrim(vend_country) + ')'
from Vendors
order by vend_name;

DB2、Oracle、PostgreSQL、SQLite

select vend_name || '(' || vend_country || ')'
from Vendors
order by vend_name;

#正确返回格式化数据,去掉多余空格
select rtrim(vend_name) || '(' || rtrim(vend_country) || ')'
from Vendors
order by vend_name;

MySQL、MariaDB

select Concat(vend_name, ' (', vend_country, ')')
from Vendors
order by vend_name;

/*
拼接4个元素
	vend_name
	空格+左括号
	vend_country
	右括号
*/

延申:

常用的文本处理函数

函数说明
left()right()返回字符串左边/右边的字符
length()返回字符串的长度
lower()upper()将字符串转换成小写/大写
ltrim()rtrim()trim()去掉字符串左边/右边/两边的空格
substring()提取字符串的组成部分
soundex()返回字符串的soundex值(发音类似)

日期和时间处理函数

SQL Serve

#返回数据可能包含列宽
select order_num
from Orders
where datepart(yy,order_date) = 2020;

PostgreSQL

select order_num
from Orders
where date_part('year',order_date) = 2020;

Oracle

#方法一
select order_num
from Orders
where extract(year from order_date) = 2020;

#方法二
select order_num
from Orders
where order_date between to_date('2020-01-01','yyyy-mm-dd')
	and to_date('2020-12-31','yyyy-mm-dd');

DB2、MySQL、MariaDB

select order_num
from Orders
where year(order_date) = 2020;

SQLite

select order_num
from Orders
where strftime('%Y',order_date) = '2020';

DBMS函数的差异汇总

函数语法
提取字符串的组成部分DB2、Oracle、PostgreSQL、SQLite 使用substr()
MySQL、MariaDB、SQL Server 使用 substring()
数据类型转换Oracle 使用多个函数,每个类型转换对应一个函数
DB2、PostgreSQL使用cast()
MySQL、MariaDB、SQL Server 使用 convert()
提取当前日期DB2、PostgreSQL使用current_date()
MySQL、MariaDB使用curdate()
Oracle使用sysdate
SQL Server使用getdate()
SQLite 使用date()

未完待遇


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进