成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

sql數(shù)據(jù)溢出怎么解決 SQL將expression轉(zhuǎn)換為數(shù)據(jù)類(lèi)型datetime時(shí)出現(xiàn)算術(shù)溢出錯(cuò)誤?

SQL將expression轉(zhuǎn)換為數(shù)據(jù)類(lèi)型datetime時(shí)出現(xiàn)算術(shù)溢出錯(cuò)誤?這個(gè)問(wèn)題,說(shuō)明 你的數(shù)據(jù)在 2010年1月29日以后的,其中有不符合規(guī)范的數(shù)據(jù),你需要檢查下。比如: 2011-2-29

SQL將expression轉(zhuǎn)換為數(shù)據(jù)類(lèi)型datetime時(shí)出現(xiàn)算術(shù)溢出錯(cuò)誤?

這個(gè)問(wèn)題,說(shuō)明 你的數(shù)據(jù)在 2010年1月29日以后的,其中有不符合規(guī)范的數(shù)據(jù),你需要檢查下。比如: 2011-2-29 這種

access中sql語(yǔ)句出現(xiàn)溢出,將其中日期篩選條件去除或比較條件去除就能完整顯示,請(qǐng)高手幫忙解決下,謝謝?

樓主的SQL代碼基本上沒(méi)有大的毛病。以下寫(xiě)法會(huì)更加規(guī)范一些(為子查詢(xún)表取一個(gè)別名):

select t.* from

(select 完成數(shù)/合同數(shù) as 完成百分比,*

from 生產(chǎn)記錄表

where 生產(chǎn)日期 between 日期1 and 日期2) t

where t.完成百分比=1

運(yùn)行這段代碼系統(tǒng)會(huì)要求輸入日期1和日期2,然后就會(huì)返回結(jié)果。

語(yǔ)句出錯(cuò)的原因是:生產(chǎn)記錄表的“合同數(shù)”字段下存在為0的值,用“完成數(shù)”除以0,當(dāng)然就會(huì)出錯(cuò)。

解決辦法:

首先必須確保字段“完成數(shù)”和“合同數(shù)”的數(shù)據(jù)類(lèi)型必須是數(shù)字并且“合同數(shù)”不應(yīng)為0

將生產(chǎn)記錄表中所有“合同數(shù)”為0值修改為大于0,或者刪除“合同數(shù)”為0的記錄,這樣運(yùn)行以上SQL語(yǔ)句就不會(huì)出錯(cuò)了;

如果一定要允許“合同數(shù)”可以為0,則可以使用IIF函數(shù)對(duì)“合同數(shù)”為0的值進(jìn)行特別處理(下面代碼處理為百分百完成,因?yàn)榱闳蝿?wù)不用干就已經(jīng)完成)

select t.* from

(select IIF(合同數(shù)=0,1,完成數(shù)/合同數(shù)) as 完成百分比,*

from 生產(chǎn)記錄表

where 生產(chǎn)日期 between 日期1 and 日期2) t

where t.完成百分比=1

當(dāng)然你也可以處理為0或其他什么的,那就要看如何理解了。以下處理為文本“未知百分比”

select t.* from

(select IIF(合同數(shù)=0,"未知百分比",完成數(shù)/合同數(shù)) as 完成百分比,*

from 生產(chǎn)記錄表

where 生產(chǎn)日期 between 日期1 and 日期2) t

where t.完成百分比="1"