發表文章

Multo - Cup of Joe 中文歌詞

  有一點感傷的菲律賓歌 希望你愛的人跟愛你的人都可以平安如意的在一起。 https://www.youtube.com/watch?v=B33a8YkS-hU [Verse 1: Gian Bernardino & Raphaell Ridao] Humingang malalim, pumikit na muna At baka sakaling namamalikmata lang Ba't nababahala? 'Di ba't ako'y mag-isa? Kala ko'y payapa, boses mo'y tumatawag pa   [Pre-Chorus: Gian Bernardino] Binaon naman na ang lahat Tinakpan naman na 'king sugat Ngunit ba't ba andito pa rin? Hirap na 'kong intindihin   [Verse 2: Raphaell Ridao & Gian Bernardino] Tanging panalangin, lubayan na sana Dahil sa bawat tingin, mukha mo'y nakikita Kahit sa'n man mapunta ay anino mo'y kumakapit sa'king kamay Ako ay dahan-dahang nililibing nang buhay pa   [Chorus: Raphaell Ridao & Gian Bernardino] Hindi na makalaya, dinadalaw mo 'ko bawat gabi Wala mang nakikita, haplos mo'y ramdam pa rin sa dilim Hindi na na-nanaginip, hindi na ma-mak...

SQL SERVER找出所有TABLE中特定欄位名稱的所有TABLE,再利用CONCAT組成更新或刪除的SQL指令,然後再整批更新資料

 SQL SERVER找出所有TABLE中特定欄位名稱的所有TABLE,再利用CONCAT組成更新或刪除的SQL指令。 SELECT concat( 'update ',     a.TABLE_SCHEMA , '.' , a.TABLE_NAME ,' set sales=100030913 where sales=','100023287'        ) FROM   INFORMATION_SCHEMA.TABLES  a    LEFT JOIN INFORMATION_SCHEMA.COLUMNS b    ON a.TABLE_NAME = b.TABLE_NAME  WHERE a.TABLE_TYPE    = 'BASE TABLE'   AND a.TABLE_NAME    Like '%%'  -- 資料表名稱   AND b.COLUMN_NAME   Like '%sales%'  -- 資料表欄位名稱 再利用查詢出來的結果一次性執行SQL指令,可大幅縮短查找TABLE的時間。

將3個union的資料合併成一列

  select a,b,c from x union select a,b,d from y union select a,b,e from z 得到資料為15000筆的a,b,c 欲合併得到資料為-->a,b,c,d,e  (大約5500筆資料) 以下執行時間為20秒--> select s1.SAL_MST_PERSONALID ID,s1.SAL_MST_ID,t1.TranDate td1,t2.TranDate td2,t3.TranDate td3  from (select * from sal001 where sal_mst_lay_off = 0) s1  left join ( SELECT s1.SAL_MST_PERSONALID ID,t9.FK_SAL_MST_ID,DATE_FORMAT(t9.trs_tcs_apply_date, '%Y%m%d') TranDate FROM trs009 t9  inner join sal001 s1 on s1.sal_mst_id=t9.fk_sal_mst_id WHERE t9.FK_TRS_MST_ID IN  (SELECT  t1.TRS_MST_ID FROM trs001 t1 WHERE t1.TRS_MST_TYPE_OLDER=1 AND t1.TRS_MST_CLASS_RELEASE=1 AND DATE_FORMAT(t1.TRS_MST_QUIZ_STARTDATE, '%Y') = DATE_FORMAT(CURDATE(), '%Y')-1) AND t9.TRS_TCS_IS_PASS = true ) t1 on s1.SAL_MST_ID=t1.FK_SAL_MST_ID left join ( SELECT s1.SAL_MST_PERSONALID ID,t9.FK_SAL_MST_ID,DATE_FORMAT(max(t9.trs_tcs_apply_date), '%Y%m%d') TranDate FROM trs009 t9  inner join s...

mssql將數字開頭的字串去除

  用substring (str,pos,len)-> 由 <str> 中的第 <pos> 位置開始,選出接下去的 <len> 個字元。 搭配PATINDEX( '%pattern%' , expression ) :指定運算式中第一次出現的起始位置  pattern  : 要搜尋的 key word,前後需要用 %%包起來  expression  : 被搜尋的內容  return  : int,搜尋內容的位置    '%[^0-9]%'-->不是數字0-9以外的字串   '%[0-9]%'-->數字0-9的字串 指令如下: select ltrim(SUBSTRING(address, PATINDEX('%[^0-9]%', address), LEN(address))) FROM customer

JDBC連線MSSQL出現"驅動程式無法使用安全通訊端層 (SSL) 加密建立與 SQL Server 的安全連接。"

 在使用MSSQL JDBC DRIVER 9.4以後的版本,原先9.4之前可以正常使用的連線字串,出現標題的錯誤訊息。 原因:是因為10.2之後的版本啟用了TLS加密,造成9.4之前的連線字串無法正常運作。 解決方法:只需在連線字串加入encrypt=false就可以了,範例如下 Connection conn = DriverManager.getConnection("jdbc:sqlserver://192.168.XXX.XXX;user=??????;password=???????;database=???????;encrypt=false;");

MYSQL建立FUNCTION--中文姓名個資掩碼

  CREATE DEFINER=`%`@`%` FUNCTION `get_mask_name`(name varchar(50) CHARSET utf8mb4 ) RETURNS text CHARSET utf8mb4     DETERMINISTIC BEGIN DECLARE x varchar(50) CHARSET utf8mb4 DEFAULT ''; if isnull(name)=false then  case char_length(TRIM(name))    when 1 then set x=TRIM(name);    when 2 then set x=left(trim(name),1)+'O';    ELSE set x=CONCAT(left(trim(name),1) ,REPEAT('O',char_length(trim(name))-2) ,right(trim(name),1));    END case;  end if;   RETURN  x; END

eclipse專案有紅色驚嘆號

圖片
  eclipse在專案視窗中有紅色驚嘆號出現時,是該專案引用的一些外部JAR檔出現對應不到的情況 解決方式只需在Configure Build Path中,把有問題的引用導正或刪除即可

EXCEL VBA檔案另存成PDF,另存成XLSX加密碼

  Function saveFile_13(name, month) Dim RS As New ADODB.Recordset     sPath = ThisWorkbook.Path     Sheets("13").Select          Application.ScreenUpdating = False          X="A1234567890"         If Len(Trim(X)) > 0 Then                            Application.DisplayAlerts = False                 pw = Left(X, 1) & Right(X, 5)                                  '另存成PDF                'Sheets("13").ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & "\" & Replace(name, "*", "") & "_" & month & "個月.pdf"                 '另存xlsx                  Worksheets...

VBA 另存CSV檔(UTF-8),將篩選內容轉存至指定儲存格

 Sub doExport_13() Dim rng As Range        '自動篩選結果範圍  b1 = Now           With Sheets("13_整理")               .Activate         'Worksheets("25").Activate         Set rng = .UsedRange    '所有資料範圍                         Dim fsT As Object         Dim tFilePath As String         tFilePath = ThisWorkbook.Path & "\" & "13_pw.csv"         'Create Stream object         Set fsT = CreateObject("ADODB.Stream")         fsT.Type = 2         fsT.Charset = "utf-8"         fsT.Open         fsT.WriteText "A1,A2,A3" + Chr(13)     '標頭         rng.AutoFilter    '設定自動篩選         ...

excel vba 將篩選的值另外存至其他儲存格

  Sub doFilterGroup_13_整理()     Dim d, rng As Range, cel As Range     Set d = CreateObject("scripting.dictionary")   '建立 Dictionary物件 '先將目的地的儲存格清成空白     With Worksheets("執行")         Set rng = .[q:q]         rng.Value = ""     End With     With Worksheets("13_整理")         Set rng = .[b:b]      '設定B欄為要篩選資料的範圍         .Activate       End With      '將資料塞入Dictionary的物件中     For Each cel In rng        If cel.Value <> "" Then d(cel.Value) = ""       Next      '將篩選後的不重複值存入Sheets("執行").[Q1]中     Sheets("執行").[Q1].Resize(d.Count) = Application.Transpose(d.keys)          End Sub

git 推送時出現error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413

  git推送檔案進GITLAB時出現以下錯誤訊息: error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 修改gitlab server上的nginx的上傳檔案大小限制 Nginx.conf default configuration without litent_max_body_size https://www.programmersought.com/article/38551797065/

java 執行時出現OutOfMemory錯誤

-Xms<size> 設定java一開始執行的初時值 -Xmx<size>  設定java使用記憶體的最大值  java  java -jar -Xms512m -Xmx4096m test.jar -->初始記憶體為512MB 最大使用記憶體為4096MB 

MySQL Workbench出現:Error Code: 2013. Lost connection to MySQL server during query的問題

圖片

mysql SELECT VIEW時出現1045 1356錯誤的解決方式

在 MYSQL 建立 VIEW 時需注 意 權 限 的 DB SER 的權 限, 例 如 從正 式 機 DOWN 下來的 CREATE SQL 如下 : 建立完後 , 下 SELECT 會出 現 error1045 的錯 誤 , 或者 1356 的 ERROR CODE CREATE     ALGORITHM = UNDEFINED     DEFINER = `XXXX`@`%`     SQL SECURITY DEFINER    ç 這一段有問 題, 改成 SQL SECURITY INVOKER 就可 以 了

大量更新TABLE 資料 從另一SQL指令資料更新

更新sales TABLE的mdf_date=sql指令的mdf_date,mdf_user=sql指令的mdf_user 括號中的SQL指令是資料來源 最下方的WHERE是將SQL指令的KEY值跟UPDATE TABLE的KEY值關連式 UPDATE sales SET mdf_date=a.mdf_date,mdf_user=a.mdf_user    FROM  (select code,aa.mdf_date,aa.mdf_user from product aa inner join sales bb on aa.code=bb.MainCode where  bb.MDF_Date is null ) a  WHERE   a.code = mainCode 

linux 找出系統上最耗費 CPU 的程式指令

圖片
--找出系統上最耗費 CPU 的程式指令 ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head 因顯示的執行命令不夠完整,所以用PID的方式找出真正有問題的程式 ps -f -p 2971 用kill指令強制結束執行的程式 kill -9 PID

SQL Server AgentAgent多項作業轉存script(備份)

圖片
第一步:在要轉出的SQL Server Agent上按 [F7] , 會在右邊視窗出現 [物件總管詳細資料] 第二步:在 [物件總管詳細資料] 視窗中選取要轉出的作業,可用[Shift]或者[Ctrl]rl]做多筆選取,然後按右鍵轉出檔案即可。

sql server 設定index FillFactor(填滿因素)

圖片
SQL SERVER儲存資料的單位為Page(頁面),在建立Index時,SQL SERVER預設會在Page填滿資料(FillFactor為0或100),此時如果新增資料時,因為Page已滿,Index所以必須使用另一個Page儲存資料,在一連串的異動資料後,會導致資料散佈在各Page上,當SQL SEVER要讀取Index時,因為資料散佈在Page而使效能低落。為了避免因為異動資料而引起的效能低落,在建立Index時可以指定Page保留一定的空間。 當Page有保留一定空間(假設FillFactor為80)時,新增的會插入現在的Page的預留空間,如此資料就不會分散。 如果FillFactor設定太小(如30),會造成建立Index時,每一個Page都只用30%的空間,這樣同樣會有資料散佈的問題以及會浪費儲存空間。 設定FillFactor可以搭配PAD_INDEX,該選項的為FillFactor的設定也套用在Index的中間(intermediate-level)。 使用 fill factor 選項,主要指定 Microsoft SQL Server 在使用現有的資料建立新索引時,應該在每一頁填滿多少空間。填滿因數會影響效能,因為當頁面填滿之後,SQL Server 就必須花費時間進行頁面的分割。 PS: A、填滿因數的預設值為 0;有效值介於 0 到 100 之間。當 FILL FACTOR 設定為 0 或 100 時,分葉層級會完全填滿。 B、填滿因數只會用於建立或重建索引時。所有分頁都不會保持在特定的填滿程度。 --檢視資料庫中所有的index SELECT DB_NAME() DBName, OBJECT_NAME([object_id]) AS TableName, name AS IndexName, is_primary_key, is_unique, type_desc, fill_factor, has_filter, filter_definition FROM SYS.INDEXES WHERE  OBJECT_NAME([object_id]) IN (SELECT Table_Name FROM INFORMATION_SCHEMA.CONSTRAI...

sql server 好用的一些管理指令

--找出最有用的索引和建立索引的方法 SELECT avg_user_impact AS average_improvement_percentage, avg_total_user_cost AS average_cost_of_query_without_missing_index, 'CREATE INDEX ix_' + [statement] + ISNULL(equality_columns, '_') + ISNULL(inequality_columns, '_') + ' ON ' + [statement] + ' (' + ISNULL(equality_columns, ' ') + ISNULL(inequality_columns, ' ') + ')' + ISNULL(' INCLUDE (' + included_columns + ')', '') AS create_missing_index_command FROM sys.dm_db_missing_index_details a INNER JOIN sys.dm_db_missing_index_groups b ON a.index_handle = b.index_handle INNER JOIN sys.dm_db_missing_index_group_stats c ON b.index_group_handle = c.group_handle WHERE avg_user_impact > = 40 -- 查出目前系統" 從開機" 到目前為止,查詢中沒有使用到Index的TABLE(也就是使用Table Scan的查詢有那些) SELECT Top 10     statement AS [database.scheme.table],     column_id , column_name, column_usage,     migs.user_seeks, migs.user_scans,    ...

java讀取EXCEL檔案(XLSM)

圖片
引用下列的JAR檔 IMPORT下列3項 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.WorkbookFactory; // 讀取EXCEL資料 String path = "c:\\work\\"; String fileName = "123.xlsm"; InputStream stream = new FileInputStream(path + fileName); File f = new File(path + fileName); //把EXCEL檔OPEN起來 org.apache.poi.ss.usermodel.Workbook workbook = WorkbookFactory.create(f); System.out.println(workbook); int numberOfSheets = workbook.getNumberOfSheets(); System.out.println(numberOfSheets); org.apache.poi.ss.usermodel.Sheet sheet = null; sheet = workbook.getSheet("sheet1");//sheet1sheet1");//sheet1名稱 // 讀取sheet的CELL資料 Row row = sheet.getRow(1);// 數字是從0開始,所以對到實際的數字要減1 Cell cell = row.getCell(4);// 數字是從0開始,所以對到實際的數字要減1 if (cell != null) { workManID = cell.toString(); } //完畢時workBook要CLOSE workbook.close();