2009年8月11日 星期二

SQL查詢式 查詢陣列值相符資料及照陣列值排序

在寫程式時,喜歡把一些多重屬性key值放在一個陣列字串之中,之後讀取資料的時候,可以拿出來用,在存的過程中,又可以把順序記錄下來。如 : 1,6,3,
在實做過程中 有發生,用in 的方式,查 1的時候,把 1 , 13 , 131 三個值都查出來,後來,有用二個查詢式可以處理,但是,覺得,這樣子的查詢式有點麻煩。
所以,我就改用 (1),(6),(3),的方式存查,在查的時候,就用 (1)去查,自然就不會重覆了。
但是,在寫程式的時候,習慣字串列陣拆出來,一個數值一個數值回頭去查相對應的資料,這樣子,對資料庫的負載比較重,就想,是否可以只有一條查詢式達到我要的功能呢 ? 找了一陣子的資料,終於找到了。

select supplier_db_id,supplier_name from supplier_db where charindex('('+ convert(varchar(10),supplier_db_id) +')','(1),(6),(3),') > 0

弄出來了,開心了一陣子,後來發現,這個出現的順序,是照資料庫順序,這樣子,在出來資料,還要自行做資料處理重新排順序。再來做一個加強版的

select supplier_db_id,supplier_name from supplier_db where charindex('('+ convert(varchar(10),supplier_db_id) +')','(1),(6),(3),') > 0 ORDER BY CHARINDEX(RTRIM(supplier_db_id), '(1),(6),(3),')


這樣子就行了。

2009年8月5日 星期三

用javascript處理get傳進來的參數

原來我們寫程式,都是在 php、asp、asp.net ... 伺服器端接收 Get傳來的參數,再去資料庫做對應的處理,可是,近年來,ajax的流行,很多事,變成在client的瀏覽器上用javascript來處理。
所以,在其中一個案子,有需要到用這類的語法,上網找了一下資訊,剛好有看到需要用的,在此分享給大家。



<script language="javascript" type="text/javascript">
var queryString = window.top.location.search.substring(1);
function getParameter ( queryString, parameterName ) {
// Add "=" to the parameter name (i.e. parameterName=value)
var parameterName = parameterName + "=";

if ( queryString.length > 0 ) {
// Find the beginning of the string
begin = queryString.indexOf ( parameterName );
// If the parameter name is not found, skip it, otherwise return the value
if ( begin != -1 ) {
// Add the length (integer) to the beginning
begin += parameterName.length;
// Multiple parameters are separated by the "&" sign
end = queryString.indexOf ( "&" , begin );
if ( end == -1 ) {
end = queryString.length
}
// Return the string
return unescape ( queryString.substring ( begin, end ) );
}
// Return "null" if no parameter has been found
return "null";
}
}

</script>

用法sample如下


<script language="javascript" type="text/javascript">
if (getParameter(queryString, 'find_type') == 'move')
{
alert("要找的是move");
}else
{
alert("不是要找move")
}
</script>



在範列之中,我們找的是傳入該網頁 xxxx.html?find_type=ABC
的get參數,find_type 是什麼,在用簡單的if else去做想處理的事情

我是在 http://blog.pothoven.net/2006/07/get-request-parameters-through.html 這個網站找到這個sample的,後來,也有在很多地方有看到,也搞不清楚那個是原作者了。

如何用Power BI做簡單的客戶圖像

 之前本來是想寫一個從0開始,發現,好難哦,所以,以下就不說太入門的教學了。 微軟的Power BI是一個方便強大的做BI工具,桌面版的不用錢,有興趣做美美好用的報表的人,可以試試,感覺就像是進好幾階的Excel。 一、交易資料樣本下載  https://archive.ic...