编号 | 类别 | ORACLE | MYSQL | 注释 |
1 | 数字函数 | round(1.23456,4) | round(1.23456,4) |
一样: ORACLE:select round(1.23456,4) value from dual MYSQL:select round(1.23456,4) value |
2 | abs(-1) | abs(-1) |
功能: 将当前数据取绝对值 用法: oracle和mysql用法一样 mysql: select abs(-1) value oracle: select abs(-1) value from dual |
|
3 | ceil(-1.001)) | ceiling(-1.001) |
功能: 返回不小于 X 的最小整数 用法: mysqls: select ceiling(-1.001) value oracle: select ceil(-1.001) value from dual |
|
4 | floor(-1.001) | floor(-1.001) |
功能: 返回不大于 X 的最大整数值 用法: mysql: select floor(-1.001) value oracle: select floor(-1.001) value from dual |
|
5 | Max(expr)/Min(expr) | Max(expr)/Min(expr) |
功能:返回 expr 的最小或最大值。MIN() 和MAX() 可以接受一个字符串参数;在这 种情况下,它们将返回最小或最大的字符串传下。 用法: ROACLE: select max(user_int_key) from sd_usr; MYSQL: select max(user_int_key) from sd_usr; |
|
6 | 字符串函数 | ascii(str) | ascii(str) |
功能:返回字符串 str 最左边的那个字符的 ASCII码值。如果 str 是一个空字符串, 那么返回值为 0。如果 str 是一个 NULL,返回值也是 NULL. 用法: mysql:select ascii('a') value oracle:select ascii('a') value from dual |
7 | CHAR(N,...) | CHAR(N,...) |
功能:CHAR() 以整数类型解释参数,返回这个整数所代表的 ASCII 码值给出的字符 组成的字符串。NULL 值将被忽略. 用法: mysql:select char(97) value oracle:select chr(97) value from dual |
|
8 | REPLACE(str,from_str,to_str) | REPLACE(str,from_str,to_str) |
功能: 在字符串 str 中所有出现的字符串from_str 均被 to_str 替换,然后返回这个字符串. 用法: mysql: SELECT REPLACE('abcdef', 'bcd', 'ijklmn') value oracle: SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual |
|
9 | INSTR('sdsq','s',2) | INSTR('sdsq','s') |
参数个数不同 ORACLE: select INSTR('sdsq','s',2) value from dual(要求从位置2开始) MYSQL: select INSTR('sdsq','s') value(从默认的位置1开始) |
|
10 | SUBSTR('abcd',2,2) | substring('abcd',2,2) |
函数名称不同: ORACLE: select substr('abcd',2,2) value from dual MYSQL: select substring('abcd',2,2) value |
|
11 | instr(‘abcdefg’,’ab’) | locate(‘ab’,’abcdefg’) |
函数名称不同: instr -> locate(注意:locate的子串和总串的位置要互换) ORACLE: SELECT instr('abcdefg', 'ab') VALUE FROM DUAL MYSQL: SELECT locate('ab', 'abcdefg') VALUE |
|
12 | length(str) | char_length() |
函数名称不同: ORACEL: SELECT length('AAAASDF') VALUE FROM DUAL MYSQL: SELECT char_length('AAAASDF') VALUE |
|
13 | REPLACE('abcdef', 'bcd', 'ijklmn') | REPLACE('abcdef', 'bcd', 'ijklmn') |
一样: ORACLE: SELECT REPLACE('abcdef', 'bcd', 'ijklmn') value from dual MYSQL: SELECT REPLACE('abcdef', 'bcd', 'ijklmn') value |
|
14 | LPAD('abcd',14, '0') | LPAD('abcd',14, '0') |
一样: ORACLE: select LPAD('abcd',14, '0') value from dual MYSQL: select LPAD('abcd',14, '0') value from dual |
|
15 | UPPER(iv_user_id) | UPPER(iv_user_id) |
一样: ORACLE: select UPPER(user_id) from sd_usr; MYSQL: select UPPER(user_id) from sd_usr; |
|
16 | LOWER(iv_user_id) | LOWER(iv_user_id) |
一样: ORACLE: select LOWER(user_id) from sd_usr; MYSQL: select LOWER(user_id) from sd_usr; |
|
17 | 控制流函数 | nvl(u.email_address, 10) |
IFNULL(u.email_address, 10) 或 ISNULL(u.email_address) |
函数名称不同(根据不同的作用进行选择): ORACLE: select u.email_address, nvl(u.email_address, 10) value from sd_usr u (如果u.email_address=NULl,就在DB中用10替换其值) MYSQL: select u.email_address,IFNULL(u.email_address, 10) value from sd_usr u(如果u.email_address=NULl,显示结果中是10,而不是在DB中用10替换其值) select u.email_address,ISNULL(u.email_address) value from sd_usr u(如果u.email_address是NULL,就显示1 |
18 | DECODE(iv_sr_status,g_sr_status_com, ld_sys_date, NULL) |
无,请用IF或CASE语句代替. IF语句格式:(expr1,expr2,expr3) |
说明: 1. decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ELSIF 条件=值n THEN RETURN(翻译值n) ELSE RETURN(缺省值) END IF 2. mysql If语法说明 功能: 如果 expr1 是TRUE (expr1 0 and expr1 NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在 语境而定。 用法: mysql: SELECT IF(1>2,2,3); |
|
19 | 类型转换函数 | TO_CHAR(SQLCODE) | date_format/ time_format |
函数名称不同 SQL> select to_char(sysdate,'yyyy-mm-dd') from dual; SQL> select to_char(sysdate,'hh24-mi-ss') from dual; mysql> select date_format(now(),'%Y-%m-%d'); mysql> select time_format(now(),'%H-%i-%S'); |
20 | to_date(str,format) | STR_TO_DATE(str,format) |
函数名称不同: ORACLE:SELECT to_date('2009-3-6','yyyy-mm-dd') VAULE FROM DUAL MYSQL: SELECT STR_TO_DATE('2004-03-01', '%Y-%m-%d') VAULE |
|
21 | trunc(-1.002) | cast(-1.002 as SIGNED) |
函数名称不同: TRUNC函数为指定元素而截去的日期值。 ORACLE: select trunc(-1.002) value from dual MYSQL:select cast(-1.002 as SIGNED) value MYSQL: 字符集转换 : CONVERT(xxx USING gb2312) 类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型),类型必须用下列的类型: 可用的类型 二进制,同带binary前缀的效果 : BINARY 字符型,可带参数 : CHAR() 日期 : DATE 时间: TIME 日期时间型 : DATETIME 浮点数 : DECIMAL 整数 : SIGNED 无符号整数 : UNSIGNED |
|
22 | TO_NUMBER(str) | CAST("123" AS SIGNED INTEGER) |
函数名称不同 ORACLE:SELECT TO_NUMBER('123') AS VALUE FROM DUAL; MYSQL: SELECT CAST("123" AS SIGNED INTEGER) as value; SIGNED INTEGER:带符号的整形 |
|
23 | 日期函数 | SYSDATE | now() / SYSDATE() |
写法不同: ORACLE:select SYSDATE value from dual MYSQL:select now() value select sysdate() value |
24 | Next_day(sysdate,7) | 自定义一个函数:F_COMMON_NEXT_DAY(date,int) |
函数名称不同: ORACLE: SELECT Next_day(sysdate,7) value FROM DUAL MYSQL: SELECT F_COMMON_NEXT_DAY(SYSDATE(), 3) value from DUAL; (3:指星期的索引值)返回的指定的紧接着下一个星期的日期 |
|
25 | ADD_MONTHS(sysdate, 2) | DATE_ADD(sysdate(), interval 2 month) |
函数名称不同: ORACLE: SELECT ADD_MONTHS(sysdate, 2) as value from DUAL; MYSQL: SELECT DATE_ADD(sysdate(), interval 2 month) as value from DUAL; |
|
26 | 2个日期相减(D1-D2) | DATEDIFF(date1,date2) |
功能: 返回两个日期之间的天数。 用法: mysql: SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate oracle: 直接用两个日期相减(比如d1-d2=12.3) |
|
27 | SQL函数 | SQLCODE | MYSQL中没有对应的函数,但JAVA中SQLException。getErrorCode()函数可以获取错误号 |
Oracle内置函数SQLCODE和SQLERRM是特别用在OTHERS处理器中,分别用来返回Oracle的错误代码和错误消息。 MYSQL: 可以从JAVA中得到错误代码,错误状态和错误消息 |
28 | SQLERRM | MYSQL中没有对应的函数,但JAVA中SQLException。getMessage()函数可以获取错误消息 |
Oracle内置函数SQLCODE和SQLERRM是特别用在OTHERS处理器中,分别用来返回Oracle的错误代码和错误消息。 MYSQL: 可以从JAVA中得到错误代码,错误状态和错误消息 |
|
29 | SEQ_BK_DTL_OPT_INT_KEY.NEXTVAL | 自动增长列 |
在MYSQL中是自动增长列. 如下方法获取最新ID: START TRANSACTION; INSERT INTO user(username,password) VALUES (username,MD5(password)); SELECT LAST_INSERT_ID() INTO id; COMMIT; |
|
30 | SUM(enable_flag) | SUM(enable_flag) |
一样: ORCALE: SELECT SUM(enable_flag) FROM SD_USR; MYSQL: SELECT SUM(enable_flag) FROM SD_USR; |
|
31 | DBMS_OUTPUT.PUT_LINE(SQLCODE) | 在MYSQL中无相应的方法,其作用是在控制台中打印,用于测试,对迁移无影响。 | dbms_output.put_line每行只能显示255个字符,超过了就会报错 |

todropaviewinmysql、 "dropviewifexistsview_name;" andtomodifyaviewを使用して、 "createorreplaceviewview_nameasselect ..."を使用します

mysqlviewscanefectiveativeativeizedesignpatternslikeadapter、decorator、factory、andobserver.1)adapterpatternadaptsdatafromdifferenttablesintoaunifiedview.2)decoratorpatternenhancesdatawithedfieldsfieldsiffieldsiffieldsiffiedを

viewsinmysqlarebenefentialforsimprifiningcomplexqueries、拡張セキュリティ、ダタコンシーニング、および最適化されたパフォーマンスを保証する1)itsmplifyififycomplexqueriesbyencapsulsingthemintoreusableviews.2)viewsencurationecuritybycontrollingcescesces.3)

to CreateAsimpleviewinmysql、usethecreateviewstatement.1)DefinetheTheTheThecreateview_nameas.2)SpecifyTheSelectStatementtatementtatementtatementtatementtatementtatementedeSireddata.3)

tocleateusersinmysql、usethecreateuserstatement.1)foralocaluser:createUser'localuser '@' localhost'identifidedifiedifiedified 'securepassword';

mysqlviewshavelimitations:1)supportallsqloperations、制限、dataManipulationswithjoinsorubqueries.2)それらは、特にパフォーマンス、特にパルフェクソルラージャターセット

reperusermanmanagementInmysqliscialforenhancingsecurationsinginuring databaseaperation.1)usecreateusertoaddusers、指定connectionsourcewith@'localhost'or@'% '。

mysqldoes notimposeahardlimitontriggers、しかしpracticalfactorsdeTerminetheireffectiveuse:1)serverconufigurationStriggermanagement; 2)complentiggersincreaseSystemload;


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール
