Reference:
Oracle Function & Syntax
http://www.techonthenet.com/oracle/functions/
Oracle>
SQL只選擇出一筆
=>用 and rownum=1
選擇隨機一筆
=>用 SELECT column FROM ( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
MySQL>
SQL只選擇出一筆
=>用 limit 0,1
選擇隨機一筆
=> 用 SELECT column FROM table
ORDER BY RAND()
LIMIT 1
MS SQL Server>
選擇隨機一筆
=> 用 SELECT TOP 1 column FROM table
ORDER BY NEWID()
資料來源:
http://blog.xuite.net/syndrome/syn/14571830-SQL%E9%81%B8%E6%93%87%E5%96%AE%E7%AD%86%E6%88%96%E9%9A%A8%E6%A9%9F%E4%B8%80%E7%AD%86
2014年12月22日 星期一
2014年10月16日 星期四
jsp傳遞參數中文亂碼問題
在tomcat\conf\server.xml內的<Connector> tag中加入
uriencoding="UTF-8" useBodyEncodingForURI="true"
uriencoding="UTF-8" useBodyEncodingForURI="true"
2014年9月5日 星期五
iframe依內容自動調整框架高度
iframe.html
<iframe frameborder="0" src="source.htm" id="frameid" onload="javascript:reSize()"></iframe>※參考來源的教學,直接使用只有Google Chrome可以運作,IE, FF不會動,因此要加上上述紅字的部分。
</script>(加在<head>....</head>之間
<script language="javascript">
function reSize(){
//parent.document.all.frameid.height=document.body.scrollHeight;
parent.document.getElementById("frameid").height=document.body.scrollHeight;
}
window.onload=reSize;
function reSize(){
//parent.document.all.frameid.height=document.body.scrollHeight;
parent.document.getElementById("frameid").height=document.body.scrollHeight;
}
window.onload=reSize;
</script>
參考來源:http://www.minwt.com/js/112.html
Parse the Uri string into name-value collection in java
public static Map<String, List<String>> splitQuery(URL url) throws UnsupportedEncodingException {
final Map<String, List<String>> query_pairs = new LinkedHashMap<String, List<String>>();
final String[] pairs = url.getQuery().split("&");
for (String pair : pairs) {
final int idx = pair.indexOf("=");
final String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), "UTF-8") : pair;
if (!query_pairs.containsKey(key)) {
query_pairs.put(key, new LinkedList<String>());
}
final String value = idx > 0 && pair.length() > idx + 1 ? URLDecoder.decode(pair.substring(idx + 1), "UTF-8") : null;
query_pairs.get(key).add(value);
}
return query_pairs;
}
Ref. http://stackoverflow.com/questions/13592236/parse-the-uri-string-into-name-value-collection-in-java
2014年7月10日 星期四
jQuery Selector 選取網頁中元素的各種方式
1. 簡單選取器
先來看最常用也是最簡單的選取方式,基本上就和 CSS 的語法是一樣的:
注意:底下的描述都先省略的 $(),你在使用的時候要記得加上 $(),而且括號中若是文字字串要記得加上雙引號,例如 $("p")。
注意:底下的描述都先省略的 $(),你在使用的時候要記得加上 $(),而且括號中若是文字字串要記得加上雙引號,例如 $("p")。
- *:選取任何元素。
- HTML標籤名稱:選擇指定標籤的 HTML 元素,例如 $("p") 會選擇網頁中所有的 <p>。
- .CSS類別名稱:選擇指定類別的 HTML 元素,注意有個點。例如 $(".myClassName") 會選擇網頁中所有擁有 myClassName 類別的元素。你也可以再加上 HTML 標籤名稱,也就是將兩種選取器組合在一起,例如 $("div.myClassName") 會選擇所有 <div class="myClassName"> 的 div 元素,而沒有這個類別名稱的 div 就不會被選取。
- #ID名稱:選擇指定 ID 的 HTML 元素,注意是個井字號。例如 $("#myid") 會選擇網頁中 id 名稱叫做 myid 的元素。同樣的可以在井字號前面加上 HTML 標籤名稱,例如 $("div#myid")。但這樣的寫法式沒必要的,基本上同一頁裡面 id 名稱是不會重複的,也最好不要重複,所以應該只會選取出一個元素。
- 選取器1,選取器2,選取器N:將多個選取器集合在一起,中間用逗號分隔,和CSS類似。會一次選擇出符合這些選取器的所有元素,只要符合其中某一個就會被選出。
2. 層級選取器
兩個(或以上)元素組合的選取方式,也是 CSS 選取方式的一種:
- 第一個元素 第二個元素:兩個元素中間空一格。例如 $("div li") 會選取出包含在 div 底下的所有 li 元素,不管中間相隔幾層都沒關係。若是 li 的任何一個外層都沒 div 的話就不會被選取,也就是說 li 必須是 div 的子孫。
- 第一個元素 > 第二個元素:比剛剛多個大於符號。例如 $("ol > li") 會選取出所有 li,而且這些 li 的 "父親" 必須是 ol,若中間還相隔了幾層就不算了!第二個元素必須是第一個元素的孩子(而不是孫子或曾孫...)。
- 第一個元素 + 第二個元素:兩個元素在同一層(是兄弟關係),而且第二個元素必須緊連著第一個元素。例如大哥和二哥可以,二哥和三哥可以,大哥和三哥就選取不到了。你可以在互動式的 jQuery 選取方式測試頁面中輸入 h1 + div 來測試看看就知道效果了。
- 第一個元素 ~ 第二個元素:兩個元素在同一層(是兄弟關係),但不需要緊連著。一樣你可以在測試頁面中輸入 h1 ~ div 來測試看看。
也可以用三個或更多元素來做層級的選取,例如:$("ol > li span + a")。這些規則看起來好像有點小複雜,不過若你熟悉 CSS 的語法就知道和 CSS 的選取方式是相同的。
3. 子元素選取器
如果想選擇子元素,除了剛剛所說的方式,還有更方便作法,和 CSS 語法也是十分類似的:
- :first-child:選取指定元素,而且它是它父元素的第一個孩子,不管它的父元素叫什麼。例如 $("li:first-child") 會選取第一個 li。
- :last-child:選取指定元素,而且它是它父元素的最後一個孩子,不管它的父元素叫什麼。例如 $("li:last-child") 會選取最後一個 li。
- :only-child:選取指定元素,而且它必須是父元素唯一的一個孩子,不管它的父元素叫什麼。
- :nth-child(數字):選取指定元素,而它是父元素的第 n 個孩子,n 就是那個數字。例如 $("li:nth-child(5)")。
4. 定位篩選選取器
如果要根據編號或排列的順序來選取特定位置上面的元素,或是過濾掉特定的元素,可以使用這些選取器:
- :first:符合的第一個元素,例如 $("tr:first") 會選取表格的第一行。
- :last:符合的最後一個元素,例如 $("tr:first") 會選取表格的最後一行。
- :not:過濾掉所有符合指定選擇器的元素,例如 $("input:not(:checked)") 會選取所有未勾選的 input 元素。
- :even:索引值為偶數的元素,從 0 開始計算。例如 $("tr:even") 會選取表格的第 1, 3, 5 ... 行(索引值是 0, 2, 4)。
- :odd:索引值為奇數的元素,從 0 開始計算。例如 $("tr:odd") 會選取表格的第 2, 4, 6 ... 行。
- :eq:索引值與指定的值相等的元素,例如 $("tr:eq(0)") 會選取表格的第 1 行。
- :gt:索引值大於指定值的元素,例如 $("tr:gt(0)") 會選取表格的第 2 行和其以後的行。
- :lt:索引值小於指定值的元素。
- :header:選取如 h1, h2, h3... 標題元素。
- :animated:選取所有正在執行動畫效果的元素。
5. 內容篩選選取器
根據元素內的文字內容,或是子元素來做篩選的選取方式。
- :contains:元素內是否有包含指定的文字,例如 $("h2:contains('選取器')") 會選出標題文字內含有 "選取器" 這幾個字的 h2 元素。
- :has:元素內是否有包含指定的元素,例如 $("p:has(span)") 會選出內容中包含 span 元素的 p 元素。
- :empty:選取指定元素,而且它必須沒有任何子元素,也沒有內容文字,即文字節點 (text node) 也不能有。
- :parent:選取有子元素或內容文字,是其他元素父親的元素,即內容不是空的,和 :empty 剛好相反。例如 $("li:parent"),只會選出內容不是空的 <li>。
6. 顯示性選取器
根據元素是顯示或隱藏來選取。
- :hidden:選出看不見、或類型為 hidden 的所有指定元素,例如 $("div:hidden")。
- :visible:選出看得見的所有指定元素,例如 $("p:visible")。
7. 屬性選取器
還可以根據元素中是否有某個屬性來做選取,都會使用中括號作為區分:
- [屬性名稱]:含有指定屬性名稱的元素,例如 $("p[class]") 會選取有 class 這個屬性的所有 <p>。
- [屬性名稱=屬性值]:含有指定屬性名稱的元素,而且屬性值必須和指定的值完全相等,例如 $("p[class=theClassName]")。
- [屬性名稱!=屬性值]:不含有指定屬性名稱,或是屬性值不等於指定值的元素。
若要選取含有指定的屬性名稱,但值不相等時,可以使用 [屬性名稱]:not[屬性名稱=屬性值]。
- [屬性名稱^=屬性值]:含有指定屬性名稱的元素,而且那個屬性值的 "開頭" 必須是指定的值,例如 $("p[class^=the]")。
- [屬性名稱$=屬性值]:含有指定屬性名稱的元素,而且那個屬性值的 "結尾" 必須是指定的值,例如 $("p[@class$=Name]")。
- [屬性名稱*=屬性值]:含有指定屬性名稱的元素,而且那個屬性值的任何部分必須 "包含" 指定的值,例如 $("p[@class*=ass]")。
- [屬性選取器1][屬性選取器2][屬性選取器N]:組合選取器,可以在需要同時滿足多個條件時使用。
8. 表單選取器
這些是 jQuery 自訂虛擬類別選擇器,可以用來選取各種表單 ui 元素。
- :input:選取所有 <input> 元素。
- :text:選取所有單行文字欄位。
- :password:選取所有密碼欄位。
- :radio:選取所有圓鈕。
- :checkbox:選取所有核取方塊。
- :submit:選取所有送出表單按鈕。
- :image:選取所有 <input type="image"> 的元素。
- :reset:選取所有重設表單按鈕。
- :button:選取所有按鈕。
- :file:選取所有檔案選擇欄位。
- :hidden:選取所有隱藏欄位。
9. 表單狀態選取器
根據表單元素的屬性,是否勾選或啟用來做選取。
- :enabled:選取指定表單 ui 元素,而且它不是 disabled 失效的。
- :disabled:選取指定表單 ui 元素,而且它不是 enabled 啟用的。
- :checked:選取指定表單 ui 元素,而且它已經被選擇,例如圓鈕和核取方塊。
- :selected:選取指定表單 ui 元素,而且它已經被選擇,例如下拉選單中的一個或多個選項。
資料來源:網路城市學習筆記。取自http://stan0926.blogspot.tw/
2014年7月3日 星期四
Java的對日期時間類進行加減運算,年份加減,月份加減
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTestUtil {
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
String str="20110823";
Date dt=sdf.parse(str);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期减1年
rightNow.add(Calendar.MONTH,3);//日期加3个月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
}
}
資料來源:http://blog.sina.com.cn/s/blog_4be6505c0100vvoz.html
import java.util.Calendar;
import java.util.Date;
public class DateTestUtil {
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
String str="20110823";
Date dt=sdf.parse(str);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期减1年
rightNow.add(Calendar.MONTH,3);//日期加3个月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
}
}
資料來源:http://blog.sina.com.cn/s/blog_4be6505c0100vvoz.html
2014年3月13日 星期四
ORACLE ORA-22858 問題
在oracle 想要把VARCHAR2轉CLOB卻出現了「ORA-22858 invalid alteration of datatype」錯誤
主要是因為oracle不允某些類型的欄位修改。就是不可以將欄位類型修改為:object、REF、nested table、VARRAY、 CLOB、BLOB。
主要是因為oracle不允某些類型的欄位修改。就是不可以將欄位類型修改為:object、REF、nested table、VARRAY、 CLOB、BLOB。
解決方式如下:[1]
1、將欄位a改名為a_copy
2、新建一個欄位a,用正確的類型
3、將_a欄位中的數據經一定轉換(一般要做轉換的,因為類型變了)后插入了a欄位中
4、刪除_a欄位
如果無需保留數據只要1、2、3步就可以了。
如果表中或該欄位中還沒有數據,那就更簡單了,把那個欄位刪除再以正確的數據類型新建一個即可。
或者
1.[2]
alter table table_name add column_new number;
update table_name set column_new=column_old;
alter table table_name drop column column_old;
alter table table_name rename column column_new to column_old;
資料來源:
[1] http://www.010cnc.net/subject/about/ORA-22858%E6%9C%89%E9%97%9C%E5%95%8F%E9%A1%8C%E8%A9%B3%E8%A7%A3.html
[2] http://hi.baidu.com/honeysnail/item/76e6725dcd39fd3094eb0579
2014年2月25日 星期二
How to reload iFrame using jQuery
01 | //reload 1 iframe |
02 | $( '#iframe' )[0].contentWindow.location.reload( true ); |
03 | |
04 | //reload all iFrames |
05 | $( 'iframe' ).each( function () { |
06 | this .contentWindow.location.reload( true ); |
07 | }); |
08 |
09 | //Another way to reload all iFrames |
10 | $( 'iframe' ).attr( 'src' , $( 'iframe' ).attr( 'src' )); |
參考來源:
http://www.jquerybyexample.net/2012/08/how-to-reload-iframe-using-jquery.html
訂閱:
文章 (Atom)