INSERT INTO NJPGSJMX ( NJPGSJMX_BGBH, NJPGSJMX_ZBLX, NJPGSJMX_ZBXH, NJPGSJMX_ZBMC,
NJPGSJMX_PGSJ, NJPGSJMX_PGJG) VALUES ( 'PGBG000006' , '2' , '1' , '差错指标' , '70'
, (CASE WHEN 70 = 80 THEN '0' WHEN 70 = 100 THEN '1'
WHEN 70 = 110 THEN '2' ELSE 'X' END FROM DUAL ))INSERT INTO NJPGSJMX ( NJPGSJMX_BGBH, NJPGSJMX_ZBLX, NJPGSJMX_ZBXH, NJPGSJMX_ZBMC,
NJPGSJMX_PGSJ, NJPGSJMX_PGJG)
select 'PGBG000006' , '2' , '1' , '差错指标' , '70'
, case 列名 when 80 then '0' when 100 then '1' when 11 then '2' else 'x' end
from dual
列名换成你的字段名。
NJPGSJMX_PGSJ, NJPGSJMX_PGJG) VALUES ( 'PGBG000006' , '2' , '1' , '差错指标' , '70'
, (CASE WHEN 70 = 80 THEN '0' WHEN 70 = 100 THEN '1'
WHEN 70 = 110 THEN '2' ELSE 'X' END FROM DUAL ))INSERT INTO NJPGSJMX ( NJPGSJMX_BGBH, NJPGSJMX_ZBLX, NJPGSJMX_ZBXH, NJPGSJMX_ZBMC,
NJPGSJMX_PGSJ, NJPGSJMX_PGJG)
select 'PGBG000006' , '2' , '1' , '差错指标' , '70'
, case 列名 when 80 then '0' when 100 then '1' when 11 then '2' else 'x' end
from dual
列名换成你的字段名。
WHEN 70 = 110 THEN '2' ELSE 'X' END FROM DUAL在oracle可以这么搞.但是我没看懂你的意思.70=80 then 0
70是个字段?
(
NJPGSJMX_BGBH
,NJPGSJMX_ZBLX
,NJPGSJMX_ZBXH
,NJPGSJMX_ZBMC
,NJPGSJMX_PGSJ
,NJPGSJMX_PGJG
)
Select 'PGBG000006'
,'2'
,'1'
,'差错指标'
,'70'
,CASE WHEN 70 = 80 THEN '0'
WHEN 70 = 100 THEN '1'
WHEN 70 = 110 THEN '2'
ELSE 'X' END
FROM DUAL
INSERT INTO NJPGSJMX ( NJPGSJMX_BGBH, NJPGSJMX_ZBLX, NJPGSJMX_ZBXH, NJPGSJMX_ZBMC, NJPGSJMX_PGSJ, NJPGSJMX_PGJG)
select 'PGBG000006' , '2' , '1' , '差错指标' , '70' , CASE WHEN 70 = 80 THEN '0' WHEN 70 = 100 THEN '1' WHEN 70 = 110 THEN '2' ELSE 'X' END FROM 某个表
如果数据类型为
NJTZCP_ZFE numeric(18,8)
有没有办法让他
insert into NJTZCP(NJTZCP_NJTZCP_ZFE )
VALUES('')
插入''时数据库就默认为'0.0'呢?
VALUES(0.0)
NJTZCP_ZFE numeric(18,8) null default 0,default 0 能不能换成一个判断语句么,IF=‘’则=‘0’
往表里插数据,用insert into 表 values()内部是不能用case when 的,但是下面这种写法应该是没有问题的:
INSERT INTO NJPGSJMX ( NJPGSJMX_BGBH, NJPGSJMX_ZBLX, NJPGSJMX_ZBXH, NJPGSJMX_ZBMC,
NJPGSJMX_PGSJ, NJPGSJMX_PGJG)
select 'PGBG000006' , '2' , '1' , '差错指标' , '70' ,(CASE WHEN NJPGSJMX_PGJG = 80 THEN '0' WHEN NJPGSJMX_PGJG = 100 THEN '1'
WHEN NJPGSJMX_PGJG = 110 THEN '2' ELSE 'X' END)
FROM DUAL