2010/12/14

[BUG] MySQL Function FIND_IN_SET

當 有兩個 Table:

Table A
item(char)relation(char)
A1,2,3
B2,3,4
C1,3,5
D1,2,3,4
E5,6

Table B
relay(int)stuff(int)
11
22
34
48
516
632
101048576

若希望他能變成:
Select A.item, Sum(B.stuff) as Result  from A,B

Result
itemResult(note)
A71,2,3 => SUM(1,2,4)
B142,3,4 =>SUM(2,4,8)
C211,3,5 =>SUM(1,4,16)
D151,2,3,4 =>SUM(1,2,4,8)
E485,6 =>SUM(16,32)

結果會不如預期
需要使用 FIND_IN_SET Func. 去做判斷:
SELECT A.item, sum( B.stuff) AS Result  FROM A,B
WHERE  FIND_IN_SET( B.relay, A.relation)
GROUP BY A.item  ORDER BY A.item

結果看似滿意!

......... BUT......

2010/12/06

火星文 簡寫列表

AKS: 晦氣死 BALA: 芭樂 機車 CD: 西低 是的 DT: 豬頭 EDD: 一滴滴 FBI: 粉悲哀 GKTT: 一元錘錘 HGW: 好狗運 IJL: 欠K JOLIN: 好冷 KO: 打敗 LAG: 消息不靈通 MG: 口賣假仙 NOQ: 不謝不客氣 ORZ: 跪拜姿 PMP: 拍馬屁 QK: 休息 RDIA: 阿弟仔 SULA: 卒仔 TAXI: 太可惜 UKLM: 幼齒辣妹 VOV: 勝利姿勢 WHOSAY: 唬誰 XD: 笑翻了 YOYOYO: 假ABC發語詞 ZZZZZ: 睡
02: 抗議 (?) 1314: 醫生一是 2266: 零零落落 386: 三八啦 4478: 散散去吧 520: 我愛你 6868: 溜吧溜吧 7758: 親親我吧 886: 拜拜囉 909090: GOGOGO

regedit 無法使用 register 被鎖 解法

1. 將 C:\\Windows\regedit.exe 改名後執行

2. 用記事簿 寫ㄧ檔案: unlock.reg

 Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=dword:00000000

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools]

[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=dword:00000000

[-HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools]

[-HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\DisableCMD]

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\DisableTaskMgr]

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun]

[-HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun] 
存檔後執行

3.  regedit 不能執行,就改執行 regedt32

4.  重灌 OS .....

batch file + VBS 刪除 目錄下 五天以前的所有檔案

batch file + VBS 刪除 目錄下 五天以前的所有檔案
用 VBS 找出 五天前的日期, 並輸出 yyyymmdd 格式
用 batch file 找出目錄下 所有檔案的日期 並與 VBS輸出的日期做比較
預設 5日, 可另下參數更改日期

<file 1: 5day.vbs 找出 五日前的日期>
days = 5 '// 5 days ago
Set ArgObj = WScript.Arguments
if (ArgObj.Count>0) then days = ArgObj(0)
x=DateAdd("d",-days,date)
'//x="2009/9/7"
'//OriginalLocale = GetLocale
'//WScript.StdOut.Write DateAdd("d",-60,date)
'//WScript.Echo FormatDateTime(x,"%Y/%m/%d")
WScript.Echo year(x) & "/" & right("0" & month(x),2) & "/" & right("0" & day(x),2)


<file 2: 5day.bat 刪除 目錄下五日前的所有檔案>
@echo off
echo off
rem 2009/12/10
rem Delete files in PATH1 & PATH2 for 5 days ago
set days=5
set TMP_PATH=\_DEL\
set PATH1=c:\x\
rem set PATH2=c:\x2\
cd %PATH1%
del /F/S/Q %TMP_PATH%
rmdir %TMP_PATH%
mkdir %TMP_PATH%
if not "c%1"=="c" set days=%1
:start
FOR /f %%x in ('C:\windows\system32\cscript.exe /Nologo 5day.vbs %days%') do for %%y in (%PATH1%\*.*) do if %%~ty LSS %%x (echo %%y
move "%%y" %TMP_PATH%)
if not "c%PATH2%"=="c" FOR /f %%x in ('C:\windows\system32\cscript.exe /Nologo 5day.vbs %days%') do for %%y in (%PATH2%\*.*) do if %%~ty LSS %%x (echo "%%y"
move "%%y" %TMP_PATH%)
set PATH1=
set PATH2=
set TMP_PATH=


XP後的 cmd 支援 FOR /f 用法,
先將 vbs 輸出的 五日前的日期 儲存在 %x 變數中,
再多用一個 %y 去抓取該目錄下所有檔案,
並用 %~ty 抓出該檔案時間,
用 LSS 比較'數字'大小,來決定刪除與否!