有这样的一个需求: select 'insert into xh_data values('''+cast(pk_data as varchar)+''','''+pk_psndoc+''','''+year+''','''+period+''','''+isnull(data_01, 'null')+''','''+isnull(data_02, 'null')+''','''+isnull(data_03, 'null')+''','''+isnull(data_04, 'null')+''','''+isnull(data_05, 'null')+''','''+isnull(data_06, 'null')+''','''+isnull(data_07,'null')+''','''+isnull(data_08,'null')+''','''+isnull(data_09,'null')+''','''+isnull(data_10,'null')+''','''+isnull(data_11,'null')+''','''+isnull(data_12,'null')+''','''+isnull(data_13,'null')+''','''+isnull(data_14, 'null')+''','''+isnull(data_15, 'null')+''','''+isnull(data_16, 'null')+''','''+isnull(data_17, 'null')+''','''+isnull(data_18, 'null')+''','''+isnull(data_19, 'null')+''','''+isnull(data_20,'null')+''','''+isnull(data_21,'null')+''','''+isnull(data_22,'null')+''','''+isnull(data_23,'null')+''','''+isnull(data_24,'null')+''','''+isnull(data_25,'null')+''','''+isnull(data_26,'null')+''','''+isnull(data_27,'null')+''','''+isnull(data_28,'null')+''','''+isnull(data_29, 'null')+''','''+isnull(data_30, 'null')+''','''+isnull(data_31, 'null')+''','''+isnull(cast(piece_1 as varchar), 'null')+''','''+isnull(cast(piece_2 as varchar), 'null')+''','''+isnull(cast(piece_3 as varchar), 'null')+''','''+isnull(cast(piece_4 as varchar),'null')+''','''+isnull(cast(piece_total as varchar),'null')+''','''+ts+''','''+cast(dr as varchar)+''')' from xh_data where year = '2004' and period = '11'
这样的实现的sql语句已写好,但是有点细节问题,达不到需要的结果。请各位请看 isnull(data_**,'null') 这个拼合语句,我数据库中有的data_01 --到data_31还有几个别的字段,这些个字段下有的是有数据的有的是没有数据为null的,我想把有数据的调出唻,结果显示为比如:'DW13' 把没有数据的结果显示为:null 不加单引号,数据之间是,好隔开。
我的这个语句是把所有的字段都加了''单引号,所以我在把历史数据还原到oracle数据库中时,null 字段的单引号就会报错,把null的单引号去掉没没事了。请求各位的帮忙,该怎样改!急需,谢谢!
这样的实现的sql语句已写好,但是有点细节问题,达不到需要的结果。请各位请看 isnull(data_**,'null') 这个拼合语句,我数据库中有的data_01 --到data_31还有几个别的字段,这些个字段下有的是有数据的有的是没有数据为null的,我想把有数据的调出唻,结果显示为比如:'DW13' 把没有数据的结果显示为:null 不加单引号,数据之间是,好隔开。
我的这个语句是把所有的字段都加了''单引号,所以我在把历史数据还原到oracle数据库中时,null 字段的单引号就会报错,把null的单引号去掉没没事了。请求各位的帮忙,该怎样改!急需,谢谢!
你好,不行,报null附近语法错误!
ORACLE 里貌似没有ISNULL这样的写法吧?
实例:select nvl(null,'null') from dual
不好意思兄弟,忘说了,先是从SQL 2000的数据库中提取脚本。所以NVL函数,SQL 2000无法识别
select 'NVL(data_01,''null''), NVL(data_02,''null'')' from dual;查询结果为:'NVL(DATA_01,''NULL''),NVL(DATA_02,''NUL
----------------------------------------
NVL(data_01,'null'), NVL(data_02,'null')