zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

SQL语句中关于字符串的拼接问题

SQL 字符串 关于 语句 拼接 问题
2023-09-14 09:03:16 时间
要求:将ORACLE数据库里面的XX信息(表B,客户的数据库)导入到“接口表”(A,自己系统的数据库)中。此对照表的信息同ORACLE里面的XX数据表信息一样。此项操作由系统的系统管理员来完成,并且可以随时导入,对于已经导入成功的数据,不会重复导入。    表的结构:     CREATE TABLE A( ID NUMBER(20), UPDAT
要求:将ORACLE数据库里面的XX信息(表B,客户的数据库)导入到“接口表”(A,自己系统的数据库)中。此对照表的信息同ORACLE里面的XX数据表信息一样。此项操作由系统的系统管理员来完成,并且可以随时导入,对于已经导入成功的数据,不会重复导入。    表的结构:    
CREATE TABLE A(

ID NUMBER(20),

UPDATED_BY NUMBER(20),

UPDATE_DATE DATE,

UPDATE_LOGIN NUMBER(20),

CREATION_DATE DATE, 

CREATED_BY NUMBER(20),

NAME VARCHAR2(60),

Import_State VARCHAR2(1))
答案:foreach (DataRow dr in dsOra.Tables[0].Rows)                 { string str = "insert when (not exists(select 1 from A where A.ID="+dr["ID"]+"))then into A values("+dr["ID"].ToString()+ "," + dr["UPDATED_BY"].ToString() + "," +dr["CREATED_BY"].ToString() + ",to_date(" +       dr["UPDATE_DATE"].ToString() + ",YYYY-MM-DDHH24:MI:SS)," + dr["UPDATE_LOGIN"].ToString() +",to_date(" + dr["CREATED_DATE"].ToString() +",YYYY-MM-DD HH24:MI:SS)," +dr["NAME"].ToString() + "," +dr["Import_State"].ToString() + ")select 1 from dual";
//在string str语句之前已经把表B中的数据读取到一个DATASET中了,所以用dr[]来处理。(不可以直接操纵客户的数据库,所以用到了DATASET)

  小注:1、数字即NUMBER类型的,要按字符串的形式插入,如果按数字(转换到数据库sql操作的地方,不带引号)的方式,当列为空的时候,插入数据,会报错。

      2、注意DATE类型数据的拼接方式。注意dr[]的写法。注意dual

      3、SQL拼接大法:

       Step1:括号先写上()

                  Step2:在括号内写上(,     ,     ,     ,      ,     ,)

                  Step3:再写上单引号(,’     ‘,’      ‘,’      ‘,’     ‘,’      ‘,)

                  Step4:再在单引号的基础上添加双引号(,’”      “‘,’”      “‘,’”      “‘,’”      “‘,’”     “‘,)

                   Step5:在4的基础上添加加号(,’”+    + “‘,’”+      +“‘,’”+      +“‘,’”+      +“‘,’”+     +“‘,)

                   Step6:去掉括号前后的那个逗号(’”+      + “‘,’”+        +“‘,’”+       +“‘,’”+       +“‘,’”+      +“‘)

                   备注:其实数字拼接是 "+数字+"这种形式,但考虑到插入为空的情况,有时就要拼成字符串的形式


 

 

                        

                      

 


【SQL开发实战技巧】系列(十二):三问(如何对字符串字母去重后按字母顺序排列字符串?如何识别哪些字符串中包含数字?如何将分隔数据转换为多值IN列表?) 如何将分隔数据转换为多值IN列表、如何按字母顺序排列字符串、如何对字符串字母去重后按字母顺序排列字符串、如何删除字符串中的字符保留数字。【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。这篇文章还是介绍的字符串处理案例,还是那句话,这些操作太太太常见了。后面还会写,而且是更麻烦更难的需求。
【SQL开发实战技巧】系列(十):从拆分字符串、替换字符串以及统计字符串出现次数说起 本篇文章讲解的主要内容是:***遍历拆分字符串为单个字符、字符串中包含引号如何转译(q-quote特性)、计算字符在字符串中出现的次数、使用translate从字符串中快速删除替换不需要字符的巧妙写法、使用正则表达式regexp_replace将字符和数字数据分离、使用正则表达式regexp_like查询只包含数字或字母型的数据***
第十二届 BigData NoSQL Meetup — 基于hbase的New sql落地实践 立即下载