一、函数对比
1. 日期和时间函数
函数作用 | SQL Server | Oracle |
---|---|---|
获取系统时间 | getdate() | sysdate |
返回包含指定日期的月份的最后一天(具有可选偏移量) | EOMONTH ( start_date [, month_to_add ] ) | |
通过将一个时间间隔与指定 date 的指定 datepart 相加,返回一个新的 datetime 值 | DATEADD (datepart , number , date ) | |
返回两个指定日期之间所跨的日期或时间 datepart 边界数 | DATEDIFF ( datepart , startdate , enddate ) | |
SWITCHOFFSET 更改 DATETIMEOFFSET 值的时区偏移量并保留 UTC 值 | SWITCHOFFSET (DATETIMEOFFSET , time_zone) | |
返回表示指定 date 的指定 datepart 的字符串 | DATENAME ( datepart , date ) | |
返回表示指定 date 的指定 datepart 的整数 | DATEPART ( datepart , date ) | |
返回表示指定 date 的“日”部分的整数 | DAY ( date ) | |
返回表示指定 date 的“月”部分的整数 | MONTH( date ) | |
返回表示指定 date 的“年”部分的整数 | YEAR( date ) |
2. 字符函数
函数分类 | 函数作用 | SQL Server | Oracle |
---|---|---|---|
字符函数 | 返回指定字符串表达式的字符数 (其中不包含尾随空格) | LEN ( string_expression ) | |
字符函数 | 返回用于表示任何表达式的字节数 | DATALENGTH ( expression ) | Length(str_exp) |
字符函数 | 返回小写字符数据转换为大写的字符表达式 | UPPER ( character_expression ) | Upper(str_exp) |
字符函数 | 返回大写字符数据转换为小写的字符表达式 | LOWER ( character_expression ) | Lower(str_exp) |
字符函数 | 返回删除了前导空格之后的字符表达式 | LTRIM ( character_expression ) | Ltrim(str_exp1 [,str_exp2]) |
字符函数 | 截断所有尾随空格后返回一个字符串 | RTRIM ( character_expression ) | Rtrim(str_exp1 [,str_exp2]) |
字符函数 | STUFF 函数将字符串插入到另一个字符串中。 它从第一个字符串的开始位置删除指定长度的字符; 然后将第二个字符串插入到第一个字符串的开始位置。 | STUFF ( character_expression , start , length , replaceWith_expression ) | Translate(str_exp,from_str,to_str) |
字符函数 | 返回字符、二进制文件、文本或图像表达式的一部分 | SUBSTRING ( expression ,start , length ) | Substr(exp, start, length) |
字符函数 | 返回具有指定整数代码的单字节字符,由当前数据库默认排序规则的字符集和编码定义。 | CHAR ( integer_expression ) | Chr(int_exp) |
字符函数 | 返回字符表达式中最左侧的字符的 ASCII 代码值 | ASCII ( character_expression ) | Ascii(str_exp) |
字符函数 | 此函数会在第二个字符表达式中搜索一个字符表达式,这将返回第一个表达式(如果发现存在)的开始位置。 | CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) |
3. 数学函数
函数分类 | 函数作用 | SQL Server | Oracle |
---|---|---|---|
数学函数 | 返回指定数值表达式的绝对值(正值)的数学函数 | ABS ( numeric_expression ) | Abs(number_exp) |
数学函数 | 此函数返回大于或等于指定数值表达式的最小整数 | CEILING ( numeric_expression ) | Ceil(number_exp) |
数学函数 | 返回小于或等于指定数值表达式的最大整数 | FLOOR ( numeric_expression ) | Floor(number_exp) |
数学函数 | 返回指定表达式的指定幂的值 | POWER ( float_expression , y ) | Power(number_exp1,number_exp2) |
数学函数 | 返回一个介于 0 到 1(不包括 0 和 1)之间的伪随机 float 值 | RAND ( [ seed ] ) | |
数学函数 | 返回一个数值,舍入到指定的长度或精度 | ROUND ( numeric_expression , length [ ,function ] ) | Round(number_exp1 [,number_exp2]) |
数学函数 | 返回指定表达式的正号 (+1)、零 (0) 或负号 (-1) | SIGN ( numeric_expression ) |