问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MSSQL和Oracle中使用参数的区别

发布网友 发布时间:2022-04-27 00:04

我来回答

4个回答

懂视网 时间:2022-05-01 01:38

数学函数

序号

函数功能

SQL Server用法

Oracle用法

1

绝对值

select abs(-1) value

select abs(-1) value from dual

2

取整(大)

select ceiling(-1.001) value

select ceil(-1.001) value from dual

3

取整(小)

select floor(-1.001) value

select floor(-1.001) value from dual

4

取整(截取)

select cast(-1.002 as int) value

select trunc(-1.002) value from dual

5

四舍五入

select round(1.23456,4) value

select round(1.23456,4) value from dual

6

为底的幂

select Exp(1) value

select Exp(1) value from dual

7

取e为底的对数

select log(2.7182818284590451)

select ln(2.7182818284590451)

8

取10为底对数

select log10(10)

select log(10,10)

9

取平方

select SQUARE(4)

select power(4,2)

10

取平方根

select SQRT(4)

select SQRT(4)

11

求任意数为底的幂

select power(3,4)

select power(3,4)

12

取随机数

select rand()

select sys.dbms_random.value(0,1)

13

取符号

select sign(-8)

select sign(-8)

14

圆周率

SELECT PI()

 

15

sin,cos,tan

select sin(PI()/2)

select sin(PI()/2)

16

求集合最大值

select max(value) value from
  (select 1 value
  union
  select -2 value
  union
  select 4 value
  union
  select 3 value)a

select greatest(1,-2,4,3) value from dual

17

求集合最小值

select min(value) value from
  (select 1 value
  union
  select -2 value
  union
  select 4 value
  union
  select 3 value)a

select least(1,-2,4,3) value from dual

18

处理null值(F2中的null以10代替)

select F1,IsNull(F2,10) value from Tbl

select F1,nvl(F2,10) value from Tbl

 

数值间比较

序号

函数功能

SQL Server用法

Oracle用法

1

求字符序号

select ascii(‘a‘)

select ascii(‘a‘) value from dual

2

从序号求字符

select char(97) value

select chr(97) value from dual

3

连接

select ‘11‘+‘22‘+‘33‘ value

select CONCAT(‘11‘,‘22‘)||33 value from dual

4

子串位置

select charindex(‘s‘,‘sdsq‘,2) value

select instr(‘sdsq‘,‘s‘,2) value from dual

5

模糊子串的位(返回2,参数去掉中间%则返回7)

select patindex(‘%d%q%‘,‘sdsfasdqe‘) value

select INSTR(‘sdsfasdqe‘,‘sd‘,1,2) value from dual 返回6

6

求子串

select substring(‘abcd‘,2,2) value

select substr(‘abcd‘,2,2) value from dual

7

子串代替(返回aijklmnef)

SELECT STUFF(‘abcdef‘, 2, 3, ‘ijklmn‘) value

SELECT Replace(‘abcdef‘, ‘bcd‘, ‘ijklmn‘) value from dual

8

子串全部替换

没发现

select Translate(‘fasdbfasegas‘,‘fa‘,‘我‘ ) value from dual

9

长度

Len或datalength

length

10

大小写转换

lower,upper

lower,upper

11

单词首字母大写

没发现

select INITCAP(‘abcd dsaf df‘) value from dual

12

左补空格

select space(10)+‘abcd‘ value

select LPAD(‘abcd‘,14) value from dual

13

右补空格

select ‘abcd‘+space(10) value

select RPAD(‘abcd‘,14) value from dual

14

删除空格

ltrim,rtrim

ltrim,rtrim,trim

15

重复字符串

select REPLICATE(‘abcd‘,2) value

lpad(‘d‘,6,‘0‘),rpad(‘d’,6,’0’)

16

发音相似性比较(这两个单词返回值一样,发音相同)

SELECT SOUNDEX (‘Smith‘), SOUNDEX (‘Smythe‘)

SELECT SOUNDEX (‘Smith‘), SOUNDEX (‘Smythe‘) from dual

 

日期函数

序号

函数功能

SQL Server用法

Oracle用法

1

系统时间

select getdate() value

select sysdate value from dual

 

前后几日

直接与整数相加减

直接与整数相加减

 

求日期

select convert(char(10),getdate(),20) value

select trunc(sysdate) value from dual select to_char(sysdate,‘yyyy-mm-dd‘) value from dual

 

求时间

select convert(char(8),getdate(),108) value

select to_char(sysdate,‘hh24:mm:ss‘) value from dual

 

取日期时间的其他部分

DATEPART 和 DATENAME 函数 (第一个参数决定)

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无效)

 

当月最后一天

没发现

select lsat_day(sysdate) value from dual

 

本星期的某一天(比如星期日)

没发现

select Next_day(sysdate,7) vaule FROM DUAL;

 

字符串转时间

可以直接转或者select cast(‘2004-09-08‘as datetime) value

select To_date(‘2004-01-05 22:09:38‘,‘yyyy-mm-dd hh24-mi-ss‘) vaule FROM DUAL;

 

求两日期某一部分的差(比如秒)

select datediff(ss,getdate(),getdate()+12.3) value

直接用两个日期相减(比如d1-d2=12.3)
  SELECT (d1-d2)*24*60*60 vaule FROM DUAL;

 

根据差值求新的日期(比如分钟)

select dateadd(mi,8,getdate()) value

SELECT sysdate+8/60/24 vaule FROM DUAL;

 

MSSQL和Oracle常用函数比对

标签:

热心网友 时间:2022-04-30 22:46

MSSQL和Oracle中的参数传值总结:
①在MSSQL中,
1.定义的参数使用@;
2.传参类型可以直接在new SqlParameter("@id",SqlDbType.Int) 写出来就可以;
3.传参的不要在@id之类的上面单引号。
②在Oracle中,
1.定义的参数使用?代替,起占位作用
2.传参类型可以在new SqlParameter("@id",SqlDbType.Varchar)
写出来,发现这里直接写实在不好转换,把转换丢在PL/SQL语句里面方便点: to_number(?)
③安全性
以前喜欢拼接字符串,然后用一段代码过滤:
/// <summary>
/// 检查传入字符串是否包含sql语句
/// </summary>
/// <param name="str">传入字符串</param>
/// <returns>包含返回true,不包含返回false</returns>
public bool FilterSql(string str)
{
string word = "and|exec|insert|select|delete|update|chr|mid|master|or|truncate|char|declare|join|cmd";
if (str == null)
{
return false;
}
foreach (string i in word.Split('|'))
{
if (str.ToLower().IndexOf(i + " ") > -1 || (str.ToLower().IndexOf(" " + i) > -1))
{
return true;
}
}
return false;
}

热心网友 时间:2022-05-01 00:04

①在MSSQL中,

1.定义的参数使用 @;

2.传参类型可以直接在 new SqlParameter("@id",SqlDbType.Int) 写出来就可以;

3.传参的不要 在 @id 之类的上面单引号,不管 @id 是什么数据类型;(PS:20131112更新,血的教训!!!)

②在Oracle中,

1.定义的参数使用 ?,可以用 ? 完全代替,诶,以前不知道。

2.传参类型可以在 new SqlParameter("@id",SqlDbType.Varchar) 写出来,发现这里直接写实在不好转换,把转换丢在PL/SQL语句里面方便点: to_number(?)

热心网友 时间:2022-05-01 01:39

使用什么参数的区别,比如呢?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
四万元没开发票税务局发多少钱 不给开发票这个情节要罚多少钱? 广东乌龙茶的种类 银行什么时候拉征信 600795国电电力,为什么在2010年4,5月突然从8块跌到4块呢?涨幅-50%... 学习很差怎么逆袭 高考文科差生五十天冲刺计划!!! ...漂亮女人,那些不大漂亮的还很善良有点丑的怎么办?她们不是很可怜吗... CS1.6 AWP经典的FRAG视频 求链接 ...大家谁有AWP的视频或者DEMO,要个看看,学学,谢谢!~ oracle和mssql中语句的区别 帮忙从MSsql存储过程转换到Oracle吧,非常感谢 DESC在oracle中是降序的意思, ” DESC 表名 “ 是显示这个表的结构... oracle 中的desc 怎么用??? oracle desc 是什么 oracle的desc在sqlwindow里面执行不了为什么,sqlwindow和commandwindow还是不明白这两个的区别... Oracle中有没有可以像mysql中desc table可以打出表结构的语句?? mssql是否有类似oracle的dataguard的功能 SQLServer如何查看表结构呢?有同oracle的desc一样命令吗? mssql的sql语句转成oracle版的sql语句 高分悬赏:SQLServer里面相当于Oracle中DESC的命令是什么 怎样区分4g显卡和4g独显? 电脑4g独显怎么看 给班里同班同学写一封信作文二年级 给同班同学送礼该送些什么 我是位中学生,想给同班同学送生日礼物(女同学)该送什么。尽量是用买的。 送给同班同学的一句话,她要退学了 写给同班同学的圣诞祝福 给高一同班同学的一封信,离别信 中考给同班同学的祝福语 在oracle数据库中怎么样建立一个以desc为名的列 oracle数据库中,为什么写了DESC 表名,执行以后是无效的SQL语句呢? Oracle中有没有什么工具 可以像MSSQL的Profiler工具一样实时跟踪被执行... oracle数据库与mssql数据库的主要区别 oracle中desc是嘛意思呢? 怎样把全框眼镜的镜片拆了? 戴眼镜的女孩怎样轻松摘掉眼镜?? 隐形眼镜 怎么摘下? 怎么卸下眼镜框上的眼镜 学习雷锋日是哪天? 雷锋学习日是哪一天? 求以水浒为题材的游戏 水浒类好玩的游戏有哪些 英文face翻译中文是什么意思? face翻译成中文是什么意思 Face中文发音! lady gaga 的哪一首poker face的中文意思是什么? 如果在优信二手车买了十万的车,付一成。到手时要多少钱 有在优信二手车买车的吗?只能付全款吗? 北京社保断了可以补交吗?有什么影响吗?