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

简介: 要求:将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";
                Append(str);
               Append(";");
             }
//在string str语句之前已经把表B中的数据读取到一个DATASET中了,所以用dr[]来处理。(不可以直接操纵客户的数据库,所以用到了 DATASET

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

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

      3、SQL拼接大法:

       Step1括号先写上()

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

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

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

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

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

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


 

 

 
                        

                      

 

目录
相关文章
|
SQL 关系型数据库 MySQL
解决sql插入字符串中包含‘单引号问题
解决sql插入字符串中包含‘单引号问题
1139 2
解决sql插入字符串中包含‘单引号问题
|
1月前
|
SQL 大数据 程序员
聊聊 SQL 语句中的占位符
大家都知道,在 SQL 语句中,可以使用 LIKE 进行模糊查询,但可能大家不知道的是,LIKE 语句的占位符除了 % 占位符之外,还有 _ 占位符,理解这些占位符可以帮助我们更有效地构造查询并进行字符串匹配,提高程序性能
105 0
|
3月前
|
SQL 存储 关系型数据库
SQL字符串查询有哪些坑?
本文通过创建一个包含不同格式姓名数据的表格,探讨了MySQL中字符排序规则(Collation)的影响。通过使用不区分大小写和空格的查询条件,文章演示了如何获取所有插入的记录,并解释了排序规则中"_ci"、"_cs"及"_bin"的区别。此外,还强调了在数据处理过程中,应考虑大小写敏感性和字符串前后空格的问题,以防导致统计或比较上的错误。最后,提供了Go语言中处理这类问题的方法,如使用`strings.EqualFold()`进行不区分大小写的字符串比较,以及使用`strings.TrimSpace()`去除字符串两端的空白字符。
|
6月前
|
SQL
sql语句将数字格式修改为字符
sql语句将数字格式修改为字符
|
SQL 存储 数据库连接
【批量添加】-拼接sql字符串
【批量添加】-拼接sql字符串
129 0
|
SQL Oracle 关系型数据库
【SQL系列】拼接列值
使用函数 CONCAT 可以拼接多列的值。在 DB2、Oracle 和 PostgreSQL 中,函数 CONCAT 的简写为 ||。
211 1
|
SQL 关系型数据库 Oracle
sql 截取字符串
原文:sql 截取字符串 MySQL:   1、LOCATE(substr , str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0;   2、POSITION(substr  IN str ):返回子串 substr 在...
3939 0
|
SQL 运维 数据库
巧用SQL拼接语句
在日常数据库运维过程中,可能经常会用到各种拼接语句,巧用拼接SQL可以让我们的工作方便很多,达到事半功倍的效果。本篇文章将会分享几个日常会用到的SQL拼接案例,类似的SQL还可以举一反三,探索出更多的可能性哦。
424 0