2017年2月20日 星期一

【MSSQL】為查詢加上排序序號 ROW_NUMBER(), RANK(), DENSE_RNAK()

在 MSSQL 中有個好用的函數,能為查詢加上序號,

其中又分為

1.ROW_NUMBER() :能將指定欄位做排序,並加上排序序號

2.RANK():能將指定欄位做排序,相同資料排序相同

3.DENSE_RNAK():能將指定欄位做排序,相同資料排序相同,但序號會延續

4.ROW_NUMBER 加上 PARTITION 能將順序重新排序

5.MySQL 要呈現相同結果可以用IF加上變數去+1

if(@_type_id=type_id,@rank:=@rank+1,@rank:=1)

2017年2月15日 星期三

【PHP】金錢符號$,脫逸字元

今天在用 preg_match_all 抓取網頁售價時,要比對 $ 時值無法成功,

例如一串文字:<div>價格 $ 600</div>,要抓取600,

抓取時寫成:preg_match_all("/價格 \$ (.*?)/",$str,$price_arr);

這樣會抓不到價格,後來發現要加兩個\才能抓到正確價格,

preg_match_all("/價格 \\$ (.*?)/",$str,$price_arr);