首页 > 数据库 >Oracle/Mysql/SqlServer 常用函数区别

Oracle/Mysql/SqlServer 常用函数区别

时间:2023-03-20 19:34:50浏览次数:51  
标签:-- SqlServer dual Mysql Oracle select

1.类型转换  

  

--Oracle  

select to_number('123') from dual;  --123;   

select to_char(33) from dual;       --33;  

select to_date('2004-11-27','yyyy/mm/dd') from dual;--2004-11-27  

  

--Mysql  

select cast('123' as signed integer);   --123   

select cast(33 as char(2));     --33;  

select to_days('2000-01-01');       --730485  

  

--SqlServer   

select cast('123' as decimal(30,2));    --123.00  

select cast(33 as char(2));     --33;  

select convert(varchar(12) , getdate(), 120)  

  

2.四舍五入函数区别   

  

--Oracle  

select round(12.86*10)/10 from dual;    --12.9  

  

--Mysql  

select format(12.89,1);         --12.9   

  

--SqlServer  

select round(12.89,1);          --12.9   

  

3.日期时间函数  

  

--Oracle  

select sysdate from dual;       --日期时间   

  

--Mysql  

select sysdate();           --日期时间   

select current_date();          --日期  

  

--SqlServer  

select getdate();           --日期时间  

select datediff(day,'2010-01-01',cast(getdate() as varchar(10)));--日期相差天数  

  

4.Decode函数   

  

--Oracle   

select decode(sign(12),1,1,0,0,-1) from dual;--1   

  

--Mysql/SqlServer   

select case when sign(12)=1 then 1 when sign(12)=0 then 0 else -1 end;--1   

  

5.判空函数   

  

--Oracle  

select nvl(1,0) from dual;      --1   

  

--Mysql  

select ifnull(1,0);         --1   

  

--SqlServer  

select isnull(1,0);         --1   

  

6.字符串连接函数  

  

--Oracle  

select '1'||'2' from dual;      --12  

select concat('1','2');         --12  

  

--Mysql  

select concat('1','2');         --12  

  

--SqlServer  

select '1'+'2';             --12  

  

7.记录限制函数  

  

--Oracle  

select 1 from dual where rownum <= 10;  

  

--Mysql  

select 1 from dual limit 10;  

  

--SqlServer  

select top 10 1  

  

8.字符串截取函数  

  

 --Oracle  

 

substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串

 

substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符

 

substr('Hello World',2,4) //返回结果为 'ello'

 

substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

  

  

--Mysql/SqlServer  

select substring('12345',1,3);  //索引从1到3 

  

8.把多行转换成一合并列  

  

--Oracle  

select wm_concat(列名) from dual; --多行记录转换成一列之间用,分割  

  

--Mysql/SqlServer  

select group_concat(列名);  

  

9.利用查询结果创建表  

  

--Oracle  

CREATE TABLE dept_bak AS SELECT * FROM dept;  

 

--Mysql/SqlServer  

SELECT * INOT t1 FROM titles  

标签:--,SqlServer,dual,Mysql,Oracle,select
From: https://www.cnblogs.com/yuyuboy/p/17237442.html

相关文章

  • Oracle 数据库迁移,升级,打补丁必看的博客
    Oracle数据库迁移,升级,打补丁必看博客之前曾经多次看过这个大神的博客,当时没有太留意。今天查官方文档时,看着推荐的博客名字怎么这么熟悉,仔细看才发现他就是官方升级指引里......
  • android studio连接mysql
    今天下午课上建民让我们准备安卓端的地铁查询开发,但是我用的是mysql储存,之前的远程数据库是用的sqlserver,所以又重新挑战了我的心魔(当时试了好几天都没法连接mysql),终于成......
  • linux安装mysql8
    #解压tarxvJfmysql-8.0.30-linux-glibc2.12-x86_64.tar.xz#改名mvmysql-8.0.30-linux-glibc2.12-x86_64mysql-8.0.30cdmysql-8.0.30;mkdirdata;mkdirlog......
  • run mysql server in docker with exist database
    step1:putyourdatabasein$mysql_data_dirfirststep2:putyourmy.confto$mysql_cnf,forexample:thatmy.cnffromalibabacloud[mysqld]pid-file......
  • mysql 查找删除重复数据
    创建测试数据MySQL[test]>createtablepeople(idintauto_incrementprimarykey,namevarchar(50)notnull,emailvarchar(100)notnull);QueryOK,0rowsaf......
  • 8.1.6mysql的条件子查询
    如题。一个不算复杂的东西,书上说的太绕了,不能忍。准备数据,这里有三张表(偷懒,各种编号都是整数)。t1是学生基本情况表,重要的字段是学号和姓名。t2是课程表,包括课程号和课程......
  • Oracle查询所有表怎样做,有几种方法 select * from user_tables 查询当前登录用用户
    Oracle查询所有表怎样做,有几种方法原文连接:https://www.qycn.com/xzx/article/13062.html在实际案例的操作过程中,我们可能会遇到“Oracle......
  • install mysql in docker
    installmysqlindocker#step-1:configuremysql_port='3306'mysql_password='123qwe'mysql_data_dir="~/docker/mysqld_${mysql_port}/data"#step-2:delete-da......
  • mysql视图
    1.常见的数据库对象2.视图2.1为什么使用视图视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的......
  • mysql-根据身份证号更新性别
    根据身份证号查询更新性别:update uufs_ltx_info set xb= (case SUBSTRING(sfzh,17,1)&1 when 1 then '男' else '女' end);  根据身份证号查询更新出生......