MySQL – 字串連接、合併欄位

from 
http://www.hkcode.com/programming/359 
 

有時我們需要將不同欄位的資料連接,或者在現在的資料後面加入內容,當然可以先從 MySQL 匯出資料,再把連接好的字串更新到 MySQL,但這未免太麻煩,另一個較方便的方法是借助 CONCAT() 實現,CONCAT() 語法為:

CONCAT(string_1, string_2, string_3, …)

MySQL 的 CONCAT() 支援多個字串連接,但在 Oracle 裡面只可以有兩個參數,要實現多個字串連接可以用 '||' 來實現。以下是 CONCAT() 的使用實例:

update table_name set email=CONCAT(email, ':me@email.com') where id='1';

以上 SQL 語法會更新 table_name 資料表的 email 欄位,在原本的資料後面加入 ':me@email.com'

———————————————————–
另外也可以這樣合併欄位:
例如

select     merchantnumber as id,
                paytime as datetime,
                concat('文字',amount)    as inorde,
                ' + '     as     lcash,
                idn     as    idn
 from cash_bill

MySQL – 自訂顯示的欄位,讓它出現你想自訂的內容

假設資料表table只有兩個 a  b 欄位,

一般查詢是:
 

SELECT a, b
FROM table

輸出得到的結果: 
——————————————————– 
a b
——————————————————–
1 X
2 X
3 X
——————————————————– 

 
今天我想要自訂第三個欄位c,內容要顯示"我是多餘的",那就:   

SELECT    a, b, '我是多餘的' as C
FROM    table

輸出得到的結果:
——————————————————– 
a b c
——————————————————–
1 X 我是多餘的
2 X 我是多餘的 
3 X 我是多餘的 
——————————————————–  

非常好用,尤其是搭配 union , 當不同資料表的結合時,往往資料表A有的欄位,資料表B沒有。
這時候在資料表B自訂想顯示的欄位,就方便多了!

因為使用union 聯集資料表,有規定欄位名稱必須一模一樣喔~

 

 

PHP – 日期相減、取得相差的時間

這樣做來就簡單多了
 

<?
$last    = time() – 100;     //前100秒
$now    = time(); //目前時間
$val = $now – $last;

echo date("H:i:s",$val);    //格式化給人看得, 會得到00:01:40   1分40秒

?>

javascript – 搞不清楚的 setTimeout 括號夾帶參數問題

一般情況下,setTimeout (函數名稱, 時間);
如果要執行的函數需要傳值進去,需要使用匿名函數如:
setTimeout  ( function(){  //要執行的函數名稱放在這裡  }, 時間);

範例:
要執行 run() 就使用 => setTimeout(  run, 1000  ) ;
要執行 run('abcd')  就使用 => setTimeout(  function(){    fun('abcd')    }, 1000  );

 
網友的註釋(from 
http://topic.csdn.net/u/20120517/14/db737c66-a409-4966-8317-24341a11340c.html?seed=324595260&r=78594164 ):

setTimeout(function(){a2('sss1')},3000); //傳遞一個js函數供定時器執行
setTimeout("a2('sss2')",5000); //直接傳遞js語句供定時器執行;
setTimeout("a2();alert('123');",5000);//這也是合法的,第二種方式和這個是一個道理也就是說setTimeOut第一個參數可以有兩種類…… 

MySQL – 找出該資料在Table中是第幾筆(排行第幾)

範例:
<tableA>
id name
1 XXX
3 XXX
5 XXX
6 XXX
7 XXX <——算出編號7是第幾筆資料
 
select  1 + (select count(*) from member where member_idn < 7)  

from tableA limit 1
說明:

 資料表中必須有個

AUTO_INCREMENT 
 
我要找出編號 7 在資料表
tableA  中排第幾筆,

那就設定當條件小於7得有幾筆再加1即可。所以會得到第5筆。