我有一个奇怪的问题,人们会认为很容易解决。基本上我正在创建一个这样的字符串:
string temp = "SET pagesize 50000;" + Environment.NewLine + "SET linesize 120;" + Environment.NewLine + sQuery.Text + Environment.NewLine + resultsQuery;
sQuery是一个更新语句,reslults查询显示结果的细分。这是结果查询。更新查询的格式相似。
resultsQuery = "SELECT project_no, contact_date, SUM(CASE WHEN control_group = 'N' THEN 1 ELSE 0 END) \"CG = N\", SUM(CASE WHEN control_group = 'Y' THEN 1 ELSE 0 END) \"CG = Y\"" + "\r\n" +
"FROM OIC_TRACK_TEMP" + "\r\n" +
"WHERE job_no = " + tbJobNo.Text.Trim() + "\r\n" +
"AND cpm_customer_code = '" + lbClientID.Text.ToUpper() + "'" + "\r\n" +
"GROUP BY project_no, contact_date" + "\r\n" +
"ORDER BY contact_date, project_no;";
然后我将查询写入命令行:
updatessh.Write(temp);
命令行中的输出如下所示:
SET pagesize 50000;
SET linesize 120;
UPDATE TABLE_NAME
SET PROJECT_NO = 'test'
.
.
如何摆脱那里的双重回车?甲骨文在看到它们时会呕吐。
谢谢!
答案 0 :(得分:2)
根据我的经验,SQL引擎将\r
和\n
视为换行符,因此当将它们与Environment.Newline包含在一起时,或者在Windows中\r\n
时,您将获得两者那些。
答案 1 :(得分:2)
在sql查询中尝试使用\ n而不是\ r \ n。
答案 2 :(得分:0)
您可以在最终字符串中使用RegEx替换doubled回车符,或者在添加查询之前将其删除。但如果你总是拥有它们 - 只需删除(不添加)+环境 换行