批處理處理多列文字

2021-06-16 09:44:20 字數 580 閱讀 5988

批處理處理多列文字,注意特殊字元右括號前有^號。tokens的寫法網上的版本大多有問題,下面是實測通過的版本

rem construct the sql statements of 009 dbc.constantdefs

if exist constantdefs.out (

for /f "tokens=1-6,*" %%i in (constantdefs.out) do (

echo insert into dbc.constantdefs values (%%i, %%j, '%%k', '%%l', %%m, '%%n', '%%o'^); >> 109.sql

)) else (

echo can not find constantdefs.out

)

解釋一下上面的批處理。

功能:從constantdefs.out檔案中每次迴圈讀出一行,每行7列(其中第七列是一串可能包含各種字元的字串,前六列保證無空格),用空格分隔。用取出的7列構造插入sql語句,根據表中字段的型別決定是否加單引號。最終可以得到可以直接執行的sql語句檔案109.sql。

關於文字列處理

1,字串比較 和 sting.equals 方法兩者之間 就處理速度而言 要首先進行兩者型別的檢查就是說,兩個進行比較兩者必須是型別一致的,而sting.equals 有些情況下會忽略型別的比較,所以速度會快一些 毫秒級的 但平常程式設計的時候就字串比較而言用 的話會在程式設計階段就發現型別不一致的...

批處理 sleep處理

echo off echo q debug nul echo bj jzh 0x ppppppa de dm do dh ls lu lx lezrr eeeuyrx2dx sleep.com echo 0dxfp,0xx.t0p,xtgsb4o piyu wwx0gwuy wv ovbx2gv0e...

SQL Distinct處理多列的問題

今天在做ssis的etl工作時,其中乙個left join元件的執行結果總是會多出一些記錄。分析了一下,該問題的原因是右表中作為關聯的那一列資料有重複。left join的執行策略可以理解為根據左表的每一條記錄的關聯欄位去對照右表的關聯字段,如果右表的關聯字段存在重複,就會生成重複的記錄。如果左表存...