當前位置:首頁 » 編程語言 » db2sql

db2sql

發布時間: 2022-01-08 19:45:02

⑴ 如何把DB2的數據直接導入sql server中

1、在SQL Server中,在對應的資料庫中點擊右鍵然後選擇「任務」菜單下的「生成腳本」,連續點擊兩個「下一步」
2、在彈出的對話框中,在「選項」下面的框中找到「為伺服器版本編寫腳本」
3、把SQL Server修改成SQL Server 2000,然後再點擊下一步,把表選中,如有存儲過程,也需要把存儲過程選中,然後點擊下一步
4、全選存儲過程或者表,然後點擊「下一步」,再點擊「完成」
5、在新建的查詢窗口中生成了所有的SQL語句,把這些語句進行復制,然後在SQL Server 2000中對應資料庫的查詢分析器中進行執行,就把對應的表結構及存儲過程生成了。
6、再用SQL Server 2000中在對應資料庫中點擊右鍵,在「所有任務」對應的「導入數據」,輸入SQL Server 2005中伺服器的名稱或者IP地址
7、輸入SQL Server 2000中伺服器對應的名稱或者IP地址,然後默認的選擇進入「下一步」,全選所有的表,然後點擊兩個「下一步「,數據就可以導進來了。

⑵ db2查詢執行的sql語句

select tabname from syscat.tables where tabschema = current schema ;// 獲取當前模式下面的所有用戶表

如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!

vaela

⑶ db2 sql 怎麼樣 根據出生日期計算年齡

Transact-SQL 參考

DATEDIFF
返回跨兩個指定日期的日期和時間邊界數。

語法
DATEDIFF ( datepart , startdate , enddate )

參數
datepart

是規定了應在日期的哪一部分計算差額的參數。下表列出了 Microsoft® SQL Server™ 識別的日期部分和縮寫。

日期部分 縮寫
year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

startdate

是計算的開始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字元串的表達式。

因為 smalldatetime 只精確到分鍾,所以當用 smalldatetime 值時,秒和毫秒總是 0。

如果您只指定年份的最後兩位數字,則小於或等於 "兩位數年份截止期 "配置選項的值的最後兩位數字的數字所在世紀與截止年所在世紀相同。大於該選項的值的最後兩位數字的數字所在世紀為截止年所在世紀的前一個世紀。例如,如果 two digit year cutoff 為 2049(默認),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數的年份。

有關時間值指定的更多信息,請參見時間格式。有關日期指定的更多信息,請參見 datetime 和 smalldatetime。

enddate

是計算的終止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字元串的表達式。

返回類型
integer

注釋
startdate 是從 enddate 減去。如果 startdate 比 enddate 晚,返回負值。

當結果超出整數值范圍,DATEDIFF 產生錯誤。對於毫秒,最大數是 24 天 20 小時 31 分鍾零 23.647 秒。對於秒,最大數是 68 年。

計算跨分鍾、秒和毫秒這些邊界的方法,使得 DATEDIFF 給出的結果在全部數據類型中是一致的。結果是帶正負號的整數值,其等於跨第一個和第二個日期間的 datepart 邊界數。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的星期數是 1。

示例
此示例確定在 pubs 資料庫中標題發布日期和當前日期間的天數。

USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO

select datediff(year,EMP_BIRTHDAY,getdate()) as '年齡' from 表名

⑷ DB2 怎麼查看 sql 語法

DB2有個Show SQL/Show Command的按鈕,選擇這個按鈕就會顯示 DB2 用來執行您請求的任務的實際語句或命令。

http://blog.163.com/prevBlogPerma.do?host=yishueitian326&srl=2858637520093140227897&mode=prev
上面說:
38. 信息幫助 (? XXXnnnnn )

例:? SQL30081

39. SQL 幫助(說明 SQL 語句的語法)

help statement

例如,help SELECT

40. SQLSTATE 幫助(說明 SQL 的狀態和類別代碼)

? sqlstate 或 ? class-code

但我在DB2上沒辦法實現。

⑸ DB2與SQL Server的區別

一、適用平台上的差異。
到目前為止,微軟的SQL Server數據據庫只支持微軟的操作系統。而DB2 資料庫不僅支持Windows操作系統,而且還支持linux等開源操作系統。也就是說,DB2具有很好的跨平台性能。現在很多企業中,都是以Linux或者Unix操作系統作為資料庫伺服器的。這主要是因為從安全性和穩定性上面Linux或者Unix操作系統都要比Windows操作系統略勝一籌。所以從這一點來說,DB2 資料庫就要比SQLServer資料庫的應用面要廣。
二、安全性上的差異。
對於資料庫來說,特別是那些相互聯網用戶開發的資料庫系統,安全性一直是左右資料庫選型的主要因素。而在這個安全性上面,SQLServer資料庫與DB2資料庫之間有很大的差異。據筆者所知,SQLServer資料庫到目前為止,沒有取得任何國際上認可的安全證書。而對於DB2資料庫來說,其已經獲得了國際上最高級別的ISO標准認證。,雖然說證書不能夠說明問題,但是至少說明DB2 資料庫的安全性也是有所保障的。微軟在SQLServer資料庫上安全投入的不足,讓其無法適應互聯網安全的威脅。為此這也讓SQLServer資料庫少了很多訂單。
三、數據處理上的差異。
在數據處理的能力上,SQLServer資料庫與DB2資料庫也有很大的差異。SQLServer資料庫雖然支持多用戶,但是在大量並發訪問的情況下,性能會顯著下降。而DB2 資料庫可以說是專門為處理大量的並發訪問所涉及的。在數據處理上,如果並發行訪問比較少或者數據量並不是很大,那麼DB2資料庫與SQLServer資料庫相比,並不會有很大的優勢。甚至可能還是SQLServer資料庫的性能比較好。但是如果涉及到海量數據的處理,如數據倉庫或者企業級的應用,那麼DB2資料庫的性能就要遠遠超過SQLServer資料庫。從這一點上來說,DB2 資料庫適合一些企業級的應用,而SQLServer資料庫則因為價格相對便宜、維護相對簡單,而比較適合中小企業使用。
四、在投資成本上的差異。
企業部署資料庫應用時,所耗費的成本主要有三塊,分別為硬體上的投資、資料庫授權與人員的支出。在硬體上的投資,兩個資料庫沒有多大的差異。但是在資料庫的授權成本與人員的支出上,卻有很大的差異。從資料庫的授權成本上看,DB2 資料庫要比SQLServer資料庫高的多。從人員的支出看,企業招募一個DB2 資料庫管理員要比招募一個SQLServer資料庫管理員貴的多。這主要是因為DB2資料庫管理員比較少,而且其往往需要同時維護多個分支機構的應用。所以DB2資料庫管理員的價格就要比SQLServer的價格貴好幾倍。所以說,從整體成本來看,企業部署DB2資料庫要比採用SQLServer資料庫貴許多。
可見DB2與SQLServer資料庫各有優劣。企業需要根據自己的規模、對於安全性的考慮、性能上的要求以及可以接受的成本等多方面來進行權衡,才能夠選擇一個合適自己的資料庫系統。

⑹ 怎樣使用命令行執行DB2的SQL

一、准備工作
運行db2cmd或者db2cw打開DB2命令行處理器

進入SQL腳本存放目錄

用db2 connect to <dbname> user <username> using <password> 命令連接資料庫

用db2 set current schema <schema_name> 設置當前的SCHEMA,這個SCHEMA可以是未創建的,DB2會自動創建。
二、執行不同類型的SQL

1、在命令行執行簡單SQL命令

db2 <SQL語句內容>

2、在命令行執行SQL腳本文件

db2 -td; -cf <SQL腳本文件路徑> -l <輸出日誌文件路徑>

說明:-td; 指定語句結束標志。因為一般SQL都是以分號結尾,所以就寫成「-td;」。

-l <輸出日誌文件路徑> 是可選的。

3、在命令行執行DB2 存儲過程文件
db2 -td@ -f <SQL過程文件路徑> -l <輸出日誌文件路徑>

說明:-td@ 指定語句結束標志。因為一般SQL過程都是以@結尾,所以就寫成「-td@」。

-l <輸出日誌文件路徑> 是可選的。

⑺ 如何用db2輸入SQL命令

可以在命令編輯器或者Windows 的DB2 命令窗口或者 Linux 的shell 中執行SQL 腳本。在windows 的DB2 命令窗口或者 linux 的shell 中執行SQL語句,可以使用下面的命令執行script1.sql腳本:
db2 -t -v -f script1.sql -z script1.log
或者:
db2 –tvf script1.sql –z script1.log
在上面的命令中,
-t 表示語句使用默認的語句終結符——分號;
-v 表示使用冗長模式,這樣 DB2 會顯示每一條正在執行命令的信息;
-f 表示其後就是腳本文件;
-z 表示其後的信息記錄文件用於記錄屏幕的輸出,方便以後的分析(這是可選的,但建議使用該選項)。
當使用了-t選項而沒有標明語句終結符,則分號(;)會默認為語句的終結符。有時可能會出現使用另外的終結符的情況,例如用SQL PL 編寫的的腳本使用其它的符號而不是默認的分號,因為分號在SQL PL 是用於定義資料庫對象過程中的語句結束。

⑻ sql語句報錯,DB2 SQL Error: SQLCODE=-203, SQLSTATE=42702, SQLERRMC=CPDM, DRIVER=3.57.82

SQLCODE=-203, SQLSTATE=42702 這是模糊列引用,造成,order by id 的id不能明確是a還是b表。一般查詢不出就是不等於某值時沒有數據,並不一定代表語句錯誤。在SQL語句中不等於有兩種用法,一種是"<>",一種是"!="(均不含引號)。

具體如下:

1、簡介

結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;sql 語句就是對資料庫進行操作的一種語言。

2、sql語句

更新:update table1 set field1=value1 where 范圍

查找:select * from table1 where field1 like '%value1%' (所有包含'value1'這個模式的字元串)

排序:select * from table1 order by field1,field2 [desc]

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1

最小:select min(field1) as minvalue from table1[separator]

⑼ 如何在db2命令行運行sql必知必會例子

db2 => connect to dbName user xxx using password

db2 => sql語句

如果要執行一個sql腳本文件:

db2 => quit

c:\> db2 -tvf sql文件名
db2 -td@ -f filename
@是語句結束符。
E:\>db2 ? options
db2 [option ...] [db2-command | sql-statement |
[? [phrase | message | sqlstate | class-code]]]
option:-a、-c、-e{c|s}、-finfile、-lhistfile、-n、-o、-p、-rreport、-s、-t、
-td;、-v、-w、-x 和 -zoutputfile。

選項 描述 預設設置
------ ---------------------------------------- ---------------
-a 顯示 SQLCA OFF
-c 自動落實 ON
-e 顯示 SQLCODE/SQLSTATE OFF
-f 讀取輸入文件 OFF
-l 將命令記錄到歷史文件中 OFF
-n 除去換行字元 OFF
-o 顯示輸出 ON
-p 顯示 db2 互動式提示符 ON
-r 將輸出報告保存到文件 OFF
-s 在命令出錯時停止執行 OFF
-t 設置語句終止字元 OFF
-v 回送當前命令 OFF
-w 顯示 FETCH/SELECT 警告消息 ON
-x 不列印列標題 OFF
-z 將所有輸出保存到輸出文件 OFF

注意:
使用 DB2OPTIONS 環境變數定製選項預設值。
緊跟選項字母後的減號(-)使該選項關閉。
使用 UPDATE COMMAND OPTIONS 更改選項設置(以互動式或
文件輸入方式)。

只能提供nt環境下編寫腳本的例子給你以供參考:
腳本樣例:
db2 connect to yourdb user yourname using yourpassword
db2 insert into newuser(username,password,email) values('Amy','1234','[email protected]')
db2 insert into newuser(username,password,email) values('Judy','1234','[email protected]')
db2 commit
db2 disconnect yourdb

運行腳本: 運行db2cmd X:\XXX.bat

以下摘自本論壇的FAQ可參考:
"
在命令窗口中運行DB2腳本,可用 db2 -svtf 腳本文件名 來實現。
例如,腳本文件名為sample.sql,運行:db2 -svtf sample.sql

參數中:
s 代表遇到錯誤時中止運行腳本
v 代表輸出結果到屏幕
t 指以;號作為每行的分隔符
f 指後面需跟腳本文件名 "---此摘錄版權歸斑竹非本人所有

具體在AS400如何編寫腳本非常遺憾.

db2 -x select SERIALNO from tabname where clause

C:>db2 attach to db2164 user ccp
輸入 ccp 的當前密碼:

實例連接信息

實例伺服器 = DB2/NT 8.2.0
授權標識 = CCP
本地實例別名 = DB2164

C:>db2 connect to dw164 user ccp
輸入 ccp 的當前密碼:

資料庫連接信息

資料庫伺服器 = DB2/NT 8.2.0
SQL 授權標識 = CCP
本地資料庫別名 = DW164

C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur

CUST_ID NOW_PRED_S LOAD_TIME
-------------------- -------------------- --------------------------
3094736. ZFS 2008-05-07-10.02.00.453000
3145886. ZFS 2008-05-07-10.02.00.453000

2 條記錄已選擇。

C:>db2 list command options

命令行處理器選項設置

後端進程等待時間(秒) (DB2BQTIME) = 1
連接至後端的重試次數 (DB2BQTRY) = 60
請求隊列等待時間(秒) (DB2RQTIME) = 5
輸入隊列等待時間(秒) (DB2IQTIME) = 5
命令選項 (DB2OPTIONS) = +m

選項 描述 當前設置
------ ---------------------------------------- ---------------
-a 顯示 SQLCA OFF
-c 自動落實 ON
-d 檢索並顯示 XML 聲明 OFF
-e 顯示 SQLCODE/SQLSTATE OFF
-f 讀取輸入文件 OFF
-i 顯示 XML 數據並帶有縮進 OFF
-l 將命令記錄到歷史記錄文件中 OFF
-m 顯示受影響的行數 OFF
-n 除去換行字元 OFF
-o 顯示輸出 ON
-p 顯示互動式輸入提示符 ON
-q 保留空格和換行符 OFF
-r 將輸出保存到報告文件 OFF
-s 在命令出錯時停止執行 OFF
-t 設置語句終止字元 OFF
-v 回傳當前命令 OFF
-w 顯示 FETCH/SELECT 警告消息 ON
-x 不列印列標題 OFF
-z 將所有輸出保存到輸出文件 OFF

C:>db2set DB2OPTIONS=-x
C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur
4654908. ZFS 2008-05-07-10.02.00.453000
3716687. ZFS 2008-05-07-10.02.00.453000

⑽ DB2的SQL腳本如何定義變數,並賦值使用執行成功有重賞哦,謝謝

用存儲過程啊,給你個簡單的例子
CREATE PROCEDURE SPCARDTRACE
(
IN I_CARDNO VARCHAR(10)
)

-- 存儲過程功能 :
-- 創建人:
-- 創建日期:
-- 參數說明:
-- 01. : I_CARDNO 卡號
-- 02. :
-- 03. :

LANGUAGE SQL
SPECIFIC SPCARDTRACE
DYNAMIC RESULT SETS 1
MODIFIES SQL DATA

BEGIN
DECLARE V_CARDNO VARCHAR(10); --卡號
DECLARE V_EMPNAME VARCHAR(16); --持卡人
DECLARE V_CARDBALANCE DECIMAL(8,2); --卡余額
DECLARE V_HAPPENDATE INT;--統計時間
DECLARE V_MINTIME TIMESTAMP; --最小時間
DECLARE V_MAXTIME TIMESTAMP; --最大時間
DECLARE V_MINMONTH INT ;
DECLARE V_MAXMONTH INT ;
DECLARE V_ISSUECARDDATE TIMESTAMP; --發卡時間
DECLARE V_SUBSIDYMONEY DECIMAL(8,2);--補貼金額
DECLARE V_CONSUMEMONEY DECIMAL(8,2);--沖值金額
DECLARE V_PUTMONEY DECIMAL(8,2);--沖值金額
DECLARE V_OUTMONEY DECIMAL(8,2);--退款金額
DECLARE V_CHANGEMONEY DECIMAL(8,2);--改卡差額
DECLARE V_STRSQL VARCHAR(1000); --SQL
DECLARE CS CURSOR WITH RETURN TO CALLER FOR RETURNTABLE;

INSERT INTO TBCARDTRACE ( CARDNO,EMPNAME,CARDBALANCE,ISSUECARDDATE ,HAPPENDATE,
SUBSIDYMONEY,PUTMONEY,OUTMONEY ,CONSUMEMONEY,CHANGEMONEY )
VALUES (V_CARDNO,V_EMPNAME,V_CARDBALANCE,V_ISSUECARDDATE,V_HAPPENDATE,
V_SUBSIDYMONEY,V_PUTMONEY,V_OUTMONEY,V_CONSUMEMONEY,V_CHANGEMONEY);

END

熱點內容
單片機android 發布:2024-09-20 09:07:24 瀏覽:765
如何提高三星a7安卓版本 發布:2024-09-20 08:42:35 瀏覽:664
如何更換伺服器網站 發布:2024-09-20 08:42:34 瀏覽:311
子彈演算法 發布:2024-09-20 08:41:55 瀏覽:289
手機版網易我的世界伺服器推薦 發布:2024-09-20 08:41:52 瀏覽:817
安卓x7怎麼邊打游戲邊看視頻 發布:2024-09-20 08:41:52 瀏覽:162
sql資料庫安全 發布:2024-09-20 08:31:32 瀏覽:94
蘋果連接id伺服器出錯是怎麼回事 發布:2024-09-20 08:01:07 瀏覽:507
編程鍵是什麼 發布:2024-09-20 07:52:47 瀏覽:658
學考密碼重置要求的證件是什麼 發布:2024-09-20 07:19:46 瀏覽:481