發表文章

目前顯示的是 6月, 2014的文章

MSSQL 2008 時間處理函式

圖片
@@DATEFIRST  SET DATEFIRST 會指定每週第一天。 U.S. English 預設值是 7,也就是星期日。 CURRENT_TIMESTAMP GETDATE  ( 效果一樣) 傳回目前 資料庫 的系統時間戳記 SELECT  CURRENT_TIMESTAMP as 'USE_CURRENT_TIMESTAMP' SELECT GETDATE() as 'USE_GETDATE'  SYSDATETIME SYSUTCDATETIME GETUTCDATE (與前兩者差 在毫秒數) 執行個體執行所在之 電腦 的日期和時間 SELECT  SYSDATETIME() as 'USE_SYSDATETIME' SELECT SYSUTCDATETIME ( ) as 'USE_SYSUTCDATETIME' SELECT GETUTCDATE()  as 'USE_GETUTCDATE'  SYSDATETIMEOFFSET ( ) 取得 電腦 的日期和時間。 時區位移包括在內 。   select SYSDATETIMEOFFSET ( ) as 'USE_SYSDATETIMEOFFSET' SWITCHOFFSET 更改時間為指定時區時間 TODATETIMEOFFSET 將時間加入時區,傳回型態為 datetimeoffset  ( 時間資料型態, 時區)  select TODATETIMEOFFSET (SYSDATETIME() , '+08:00') as 'USE_TODATETIMEOFFSET' DATENAME  傳回代表指定日期之指定 datepart 的字元字串。 select DATENAME (  datepart   ,   日期 ) select DATENAME ( WEEKDAY , '2014/6/19' ) DATEADD 將指定時間加入開始時間,傳回指

SWITCHOFFSET

圖片
SWITCHOFFSET ( DATETIMEOFFSET, time_zone ) 將時間改為所指定的時區之時間 *時間須為DATETIMEOFFSET型態 datetime等型態會出現錯誤 SELECT '2014-06-19 12:30:00 +9:00'  as '日本時區(+9)' SELECT SWITCHOFFSET ('2014-06-19 12:30:00 +9:00', '+08:00')  as  '台灣時區' SYSDATETIMEOFFSET ( ) 取得電腦的日期和時間。時區位移包括在內。 DATETIMEOFFSET  資料型態

ISDATE

圖片
ISDATE  如果給予日期 是有效的  date 、 time  或  datetime  值,則傳回 1,否則傳回 0。 select ISDATE('23:59:59.112') as '秒數3位數' select ISDATE('23:59:59.1121') as '秒數超過3位數' select ISDATE('2014/2/31') as '2014/2/31' ISDATE 運算式 ISDATE 傳回值 NULL 0 在< 資料類型 >的任何資料類型類別目錄中所列的資料類型值,但字元字串、 Unicode 字元字串或日期和時間除外。 0 text 、 ntext   或   image   資料類型的值。 0 秒數有效位數超過 3 的任何值 (.0000 到 .0000000...n) 。 0 混合有效日期與無效值的任何值,例如 1995-10-1a 。

DATEDIFF

圖片
DATEDIFF ( datepart , startdate , enddate ) 傳回跨越指定 startdate 與 enddate 之指定 datepart 界限的計數 (帶正負號的整數)。 資料表內容 datediff(second,CONVERT(datetime,Online_alltime),CONVERT(datetime,'00:00:00')) 若有加上年月日則秒數會不對,因為datetime轉換,若無日期則會自動補上 datetime格式---> 1900-01-01 00:00:00: 000

DATEADD

圖片
DATEADD (datepart , number , date ) 傳回指定的 date,並將指定的 number 間隔 (帶正負號的整數) 加入至該 date 的指定 datepart。 select dateadd(d , 30  , '2014/2/1') (不包含2014/2/1) *number 若有小數點,則無條件捨去取整數) select dateadd(d , 3.5  , '2014/2/1') datepart引數 datepart 縮寫 year yy  , yyyy quarter qq  , q month mm  , m dayofyear dy  , y day dd  , d week wk  , ww weekday dw  , w hour hh minute mi  , n second ss  , s millisecond ms microsecond mcs nanosecond ns

rdlc 鑽研報表

圖片
建立兩個資料集,一個命名為MainDataSet,另一個命名為DrillDataSet,並建立DataTable且設定好所要的表格欄位。完成如下 建立主報表並命名為Main.rdlc 設定資料來源為剛建立的MainDataSet,資料集名稱命名為maindataset 設計好所要欄位 以下最左邊為要給使用者點選以產生鑽研報表 在該文字輸入框右鍵-->文字方塊屬性 --> 動作  選擇移至報表,指定報表則輸入鑽研報表的名稱(在此以RrillReport), 不須加上rdlc 有參數要給鑽研報表的話則點選下方的"加入"按鈕  主報表設計完成畫面 建立鑽研報表,命名為DrillReport.rdlc 設定資料來源為之前建立的DrillDataSet,資料集名稱命名為drilldataset 有從主報表接收參數的話動作如下 報表資料視窗中的參數-->右鍵-->加入參數 名稱需與主報表設定輸入的一樣 鑽研報表設計完成畫面 (在此用一個圖表與一個資料表顯示) aspx 拉出ReportViewer元件 該屬性中InteractivityPostBackMode 須設定為同步回傳(預設為永遠非同步回傳) ReportViewer事件中在Drillthrouhg中建立事件 cs 輸入以下程式碼 using System.Data; using System.Data.SqlClient; using Microsoft.Reporting.WebForms;             if (!IsPostBack)             {                  //資料庫連線與SQL語法動作跳過,需要可至之前文章查看                             //主報表動作                 ReportViewer1.LocalReport.ReportPath = "Main.rdlc";                 ReportViewer1.L

rdlc 向下鑽研報表

圖片
原始報表畫面 群組內建立一列資料行 輸入資料後,該列右鍵-->資料列可見性 改為隱藏,"此報表可以切換顯示"選擇要切換的欄 設定前  設定後  若是編譯時出錯,可以記住該欄位的ID(屬性視窗可看) 例如kind在資料表為"TextBox18 文字方塊","此報表可以切換顯示"選擇時就選擇TextBox18

rdlc 子報表

圖片
建立主報表所要的資料集,並命名為MainDataSet,並給予如下圖的五個表格名稱 建立主報表Main.rdlc,在該報表使用剛才的資料集當作資料來源,並建立資料集命名為maindata 建立好所有欄位 到此步驟為止主報表已完成,執行並給予資料後結果會如下圖 子報表開始 主報表(Main.rdlc)只顯示kind與cname,其餘資訊將在子報表顯示 建立子報表並命名為SubReport.rdlc 到主報表(Main.rdlc)在想呈現子報表的文字框中右鍵-->插入--->子報表 完成後該輸入光會顯示<子報表> 右鍵--->子報表屬性 在"將此報表當成子報表(U):"地下的空白處輸入子報表名稱 (不用加rdlc) 在選擇參數--->加入,將要帶給子報表的值輸入( 名稱與子報表要接收時的名稱需一樣) ------------------------------------------------------------------------------------------------------------------- 以下兩步驟可省略 (主報表不須加入參數仍可帶給子報表  rdlc的改變?) 在主報表的報表資料-->參數右鍵-->加入參數 輸入要帶給子報表的參數(名稱與上述需相同) (絕對要勾"允許Null值) ------------------------------------------------------------------------------------------------------------------- 完成如下 主報表設計部分完成畫面 建立子報表所要的資料集,並命名為SubDataSet,並給予如下圖的五個表格名稱 子報表設定資料來源(SubDataSet)與資料集(命名為sundata) 將子報表的表格設計好 子報表-->左側的報表資料