2025年4月14日 星期一

SQL 統一編號(aka統編)的檢查方法

統一編號檢查方法
(擴增統一編號-預計112年4月1日啟用)

統編這是第三次改版重寫,
也做了好幾次的修改。 檢查方法的規則,這邊就先省略了。

重點是「擴增統一編號」這一版, 統編第七碼,如果是「7」,
最後可以用「1」或「0」。

然後,如果
[加總] + [第七碼1] 的尾數等於 0 或 5,
或是
[加總] + [第七碼2] 的尾數等於 0 或 5, 表示統編的編碼是符合規則的。

SELECT
[統編]

      ,'第七碼'=Substring([統編],7,1) /* 統編第七碼等於「7」是特例,有兩種判斷方式。 */
       
      ,'加總'=
       /* 加總第 1、3、5、8 碼 乘以 邏輯乘數「1」乘積。 */
       CONVERT(INT,Substring([統編],1,1))*1 +
       CONVERT(INT,Substring([統編],3,1))*1 +
       CONVERT(INT,Substring([統編],5,1))*1 +
       CONVERT(INT,Substring([統編],8,1))*1 +

       /* 加總第 2、4、6 碼 乘以 邏輯乘數「2」乘積直寫並上下相加之合。 */
       CASE Substring([統編],2,1) WHEN 0 THEN 0
       ELSE CONVERT(INT,Substring('246813579', CONVERT(INT,Substring([統編],2,1)) ,1)) END +
       CASE Substring([統編],4,1) WHEN 0 THEN 0
       ELSE CONVERT(INT,Substring('246813579', CONVERT(INT,Substring([統編],4,1)) ,1)) END +
       CASE Substring([統編],6,1) WHEN 0 THEN 0
       ELSE CONVERT(INT,Substring('246813579', CONVERT(INT,Substring([統編],6,1)) ,1)) END

      ,'第七碼1'=CONVERT(INT,
       CASE Substring([統編],7,1)
       WHEN 1 THEN 4 /* 1 * 4 = 4 */
       WHEN 2 THEN 8 /* 2 * 4 = 8 */
       WHEN 3 THEN 3 /* 3 * 4 = 12 > 1 + 2 = 3 */
       WHEN 4 THEN 7 /* 4 * 4 = 16 > 1 + 6 = 7 */
       WHEN 5 THEN 2 /* 5 * 4 = 20 > 2 + 0 = 2 */
       WHEN 6 THEN 6 /* 6 * 4 = 24 > 2 + 4 = 6 */
       WHEN 7 THEN 0 /* 7 * 4 = 28 > 2 + 8 = 10 > 用 1 或 0 。 這邊用 0 */
       WHEN 8 THEN 5 /* 8 * 4 = 32 > 3 + 2 = 5 */
       WHEN 9 THEN 9 /* 9 * 4 = 36 > 3 + 6 = 9 */
       WHEN 0 THEN 0 /* 0 * 4 = 0 */ END )

      ,'第七碼2'= /* 說明:         第七碼 * 4 的乘積,再垂直相加。對應1~9  */
       CASE Substring([統編],7,1) /* │  利用 Substring 取指定值的規則,當第七碼是 2 時,就取得 8。 */
       WHEN 0 THEN 0 /*             ↓      ↓ */
       ELSE CONVERT(INT,Substring('483726159', CONVERT(INT,Substring([統編],7,1)) ,1)) END

  FROM [申報檔]

然後上面這邊我是捨棄部分的計算式, 反正乘積結果是固定的, 只要用 Substring 函數的規則特性, 將數字對應到乘積直寫上下相加的結果就好了。

2022年4月7日 星期四

[Crystal Reports] 用公式格式化數字?

Crystal Reports 的文字物件,格式物件的公式內,可以將數字像 Excel 那樣格式化。方式很相似。


參考一:可以將含有小數點的數字格式化。

"共計:" + CStr ( {數字欄位} , '##0') + " 天"


 參考二:可以將數字補零。

"共計:" + CStr ( {數字欄位} , '000') + " 天"

若值是1天,會變成001天。 


參考三:可以加上千分位符號「,」。

"共計:" + CStr ( {數字欄位} , '###,###,##0') + " 元"

 

參考四:文字欄位要先轉型成數字。

 "共計:" + CStr (CDbl ( {數字欄位} , '##0')) + " 天"

2017年7月20日 星期四

JavaScript 端判斷 DropDownList 的 Text、Value

JavaScript 真的是不容易理解的東西。
光是要判斷 DropDownList 目前的 Value Text 就快頭昏了....
我這方面的觀念真的很差。

除了之前學到的:
// 取得 select  Text
var SelectedText = $(this).find( ":selected").text();

// 取得 select  Value
var SelectedValue = $( this).val();


最近又學了下面的:

//取得 DropDownList 現在選的是第幾筆
$(#DropDownList_ID).val().length

//取得 DropDownList 現在顯示的文字
$("#DropDownList_ID option:selected").text()

//取得 DropDownList 第一筆
$("#DropDownList_ID").find("option").get(0).selected


/* JavaScript 端的 code */
function fn() {
    if ($("#DropDownList_ID").val().length == 0) {
        alert("現在選的是第一筆");
    }

    if ($("#DropDownList_ID option:selected").text() == "One") {
        alert("選的是One");
    }

    if ($("#DropDownList_ID").find("option").get(0).selected == true) {
        alert("現在選的是第一筆");
    }
}


2015年5月13日 星期三

使用 JQuery 取得 asp:DropDownList 的 Text 以及 Value


JQuery的部分:
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script >
        $(document).ready( function () {
            $('#DropDownList_ID').change(function () {
                // 取得 select Text
                var SelectedText = $(this).find( ":selected").text();
                // 取得 select Value
                var SelectedValue = $(this).val();

                // 塞值到 Label 中
                $('#Lable1_ID').text(SelectedText);
                $('#Lable2_ID').text(SelectedValue);
            });
        });
    </script >

2014年1月23日 星期四

C# FileUpload取得副檔名



需要引用:
using System.IO;

FileUpload1FileUpload
宣告 ext 去承接副檔名。

string ext = System.IO.Path.GetExtension(FileUpload1.FileName); //ext即為副檔名





2014年1月15日 星期三

HTML 文字上標跟下標的語法


網頁中使用上標、下標的效果:


(PRODUCT)RED Special Edition
上標語法:<sup>RED</sup>


(PRODUCT)RED Special Edition
下標語法:<sub>RED</sub>




2014年1月8日 星期三

CSS 建立CSS文件並引用



建立 CSS 文件夾:
老師是建議建立一個 CSS 資料夾,再將文件放資料夾中。

Visual Studio 中新增 CSS 檔:
檔案總管中,對專案點選右鍵 〉 加入 〉新增項目 〉樣式表。

樣式表內容:

body
    {
    font-family:Verdana;
    }
   
    .c01
    {
    color:Red;
    font-size:1.2em;
    }
   
    .c02 { color:Blue; font-size:1.4em; }


引用 CSS 範例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <link type="text/css" href="CSS/Site.css" rel="Stylesheet" />
</head>
<body>
<p class="c01">
Did you know we feature your uploads to <span>myMoleskine</span> on our homepage? Share with us today and then check out www.moleskine.com to see your upload!
</p>
<hr />
<p class="c01" >
Did you know we feature your uploads to myMoleskine on our homepage? Share with us today and then check out www.moleskine.com to see your upload!

</p>
<hr />
<p class="c02" >
Did you know we feature your uploads to myMoleskine on our homepage? Share with us today and then check out www.moleskine.com to see your upload!
</p>
<hr />
<p class="c02">
Did you know we feature your uploads to myMoleskine on our homepage? Share with us today and then check out www.moleskine.com to see your upload!

</p>
abc&nbsp;&nbsp;xyz<br />
abc&amp;&gt;&lt;
<a>
&lt;a&gt;
</body>
</html>