Heim  >  Artikel  >  Datenbank  >  Was ist der Unterschied zwischen DB2- und Oracle-SQL-Anweisungen?

Was ist der Unterschied zwischen DB2- und Oracle-SQL-Anweisungen?

WBOY
WBOYOriginal
2022-05-30 17:23:232614Durchsuche

Unterschied: 1. db2 verwendet „Tabelle a wie b erstellen“, um eine ähnliche Tabelle zu erstellen, Oracle verwendet „Tabelle a als Auswahl * aus b erstellen“; 2. db2 verwendet die Varchar-Typkonvertierung, Oracle verwendet die Funktion „to_char“. konvertieren.

Was ist der Unterschied zwischen DB2- und Oracle-SQL-Anweisungen?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.

Was ist der Unterschied zwischen DB2 und Oracle SQL -Anweisungen.

4. Erhalten Sie die Systemzeitsyntax

Oracle : 
	create table a as select * from b;
DB2    : 
	create table a like b;
		 
	(8版本有效,9版本无效)
	create table new_a as select col1,col2... from a definition only

5. Die Methoden zur Nullwertkonvertierung sind unterschiedlich

Analyse:
Oracle : 
	truncate table a;
DB2    :
	alter table a active not logged initially with empty table;
Derzeit unterstützt DB2 V8 auch to_char und to_date, und die V9-Version fügt to_number hinzu kursiv Abfrage (hierarchische Abfrage)

Oracle : 
	select * from a where rownum <= N;
DB2    :
	select * from a fetch first N rows only;

Oracle:

Oracle :
	select sysdate from dual;
DB2    :
	select current timestamp from sysibm.sysdummy1;

Erfahren Sie mehr: Hierarchische Oracle-Abfrage (rekursive Abfrage): Beginnen Sie mit...verknüpfen Sie nach Prior- und Level-Schlüsselwort

DB2:
Oracle :
	select col1,col2,nvl(col3,'0') from tablename; (判断col3字段是否为空,不为空就输出原来的数值,为空就输出0)
DB2   :
	select col1,col2,value(col3,'0') from tablename;
	
	(mysql和Db2可以使用Coalesce(col3,'0')函数来实现上述功能)

Wie in der Abbildung oben gezeigt, beginnen Sie mit der Abfrage aller übergeordneten Knoten. Legen Sie zunächst den Startpunkt der virtuellen Tabelle fest. Dies ist die vierte Zeile der Reihe nach Kind in der vorherigen Zeile, also VT.parent + 10. Es gibt Unterschiede in den Datentypen

这个函数主要用来进行空值处理,其参数格式如下: COALESCE ( expression,value1,value2……,valuen) 
COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。
COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。
	如果expression不为空值则返回expression;
	否则判断value1是否是空值,如果value1不为空值则返回value1;
	否则判断value2是否是空值,如果value2不为空值则返回value2;
	……以此类推,
	如果所有的表达式都为空值,则返回NULL。

11. Über rowId

oracle :
	select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
DB2    :
	select varchar(current timestamp) from sysibm.sysdummy1;

12.decode-Methode

Oracle数据类型改变函数:to_char()、to_date()、to_number()等;
	如果仅仅取年,月,日等,可以用
		to_char(sysdate, 'YYYY'),
		to_char('MM') ,
		to_char('DD')取得。
	只取年月日TRUNC(SYSDATE)。
	取时分秒TO_CHAR(SYSDATE,'HH24:MI:SS')。

DB2数据类型改变函数:char()、varchar()、int()、date()、time()等;
	取得年,月,日等的写法:
		YEAR(current timestamp),
		MONTH(current timestamp),
		DAY(current timestamp),
		HOUR(current timestamp),
		MINUTE(current timestamp),
		SECOND(current timestamp),
		MICROSECOND(current timestamp),
	只取年月日可以用
		DATE(current timestamp),
	取时分秒
		TIME(current timestamp)。
	Char()是定长字符串(1-255),varchar()为非定长字符串(1-32672)日期,
	时间形态变为字符形态: 
		char(current date),
		char(current time)
	将字符串转换成日期或时间形态:
		TIMESTAMP('2002-10-2012:00:00'),
		DATE('2002-10-20'),
		DATE('10/20/2002'),
		TIME('12:00:00')

Empfohlenes Tutorial: „Oracle Video-Tutorial"

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen DB2- und Oracle-SQL-Anweisungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn