看到別人有時(shí)問(wèn)這個(gè)方面的問(wèn)題。。于是在各網(wǎng)站總結(jié)前前輩高人的幾點(diǎn)想法,拿來(lái)共享:
數(shù)據(jù)庫(kù)導(dǎo)入以后,自動(dòng)增加字段需要重寫(xiě),所有的數(shù)字類(lèi)型需要增加長(zhǎng)度,最好用decimal。
所有的默認(rèn)值都丟失了。主要是數(shù)字類(lèi)型和日期類(lèi)型。
所有now(),time(),date()要改成getdate()。
所有datediff(‘d’, time1, time2)要改成datediff(day, time1, time2)
有可能一些true/false類(lèi)型不能使用,要變?yōu)?/0。
備注類(lèi)型要通過(guò)cast(column as varchar)來(lái)使用。
CursorType要改成1,也就是打開(kāi)數(shù)據(jù)庫(kù)時(shí)要給出第一個(gè)數(shù)字參數(shù)為1,否則記錄可能顯示不完整。
isnull(rowname)要改成rowname = null
ACCESS的數(shù)據(jù)庫(kù)中的自動(dòng)編號(hào)類(lèi)型在轉(zhuǎn)化時(shí),sql server并沒(méi)有將它設(shè)為自動(dòng)編號(hào)型,我們需在SQL創(chuàng)建語(yǔ)句中加上identity,表示自動(dòng)編號(hào)!
轉(zhuǎn)化時(shí),跟日期有關(guān)的字段,SQL SERVER默認(rèn)為smalldatetime型,我們最好將它變?yōu)閐atetime型,因?yàn)閐atetime型的范圍比smalldatetime型大。有時(shí)用smalldatetime型時(shí),轉(zhuǎn)化失敗,而用datetime型時(shí),轉(zhuǎn)化成功。
對(duì)此兩種數(shù)據(jù)庫(kù)進(jìn)行操作的sql語(yǔ)句不全相同,例如:在對(duì)ACCESS數(shù)據(jù)庫(kù)進(jìn)行刪除紀(jì)錄時(shí)用:”delete * from user where id=10″,而對(duì)SQL SERVER數(shù)據(jù)庫(kù)進(jìn)行刪除是用:”delete user where id=10″.
日期函數(shù)不相同,在對(duì)ACCESS數(shù)據(jù)庫(kù)處理中,可用date()、time()等函數(shù),但對(duì)SQL SERVER數(shù)據(jù)庫(kù)處理中,只能用datediff,dateadd等函數(shù),而不能用date()、time()等函數(shù)。
在對(duì)ACCESS數(shù)據(jù)庫(kù)處理中,sql語(yǔ)句中直接可以用一些VB的函數(shù),像cstr()函數(shù),而對(duì)SQL SERVER數(shù)據(jù)庫(kù)處理中,卻不能用。
]]>