MS SQL自定义函数IsPositiveInteger MS SQL自定义函数IsNumeric 水晶报表使用IEnumerableT数据源...
生活随笔
收集整理的這篇文章主要介紹了
MS SQL自定义函数IsPositiveInteger MS SQL自定义函数IsNumeric 水晶报表使用IEnumerableT数据源...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MS SQL自定義函數IsPositiveInteger
判斷字符串是否為正整數,0開始的的數字不算。
?
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GOCREATE FUNCTION [dbo].[svf_IsPositiveInteger] (@string NVARCHAR(MAX) ) RETURNS BIT --函數返BIT數據類型,是數字返回1,非數字返回0。 AS BEGINDECLARE @rtv BIT = 1 DECLARE @str NVARCHAR(MAX) = LTRIM(RTRIM(ISNULL(@string,''))) --去除前后空格,如果為NULL轉為''IF ASCII(SUBSTRING(@str, 1, 1)) = 48 --如果字符串第一位為0BEGINSET @rtv = 0 --直接判斷為非正整數ENDELSEBEGINDECLARE @start INT = 1; DECLARE @end INT = LEN(@str) --獲取字符串長度WHILE (@start <= @end) --循環字符串每一個字符BEGINDECLARE @Numeric VARCHAR(1) = ''SET @Numeric = SUBSTRING(@str, @start, @start + 1) -- 每循環一次從左邊獲取一位字符IF ASCII(@Numeric) >= 48 AND ASCII(@Numeric) <= 57 --如果是數字BEGINSET @start = @start + 1;CONTINUE --繼續循環 ENDELSEBEGINSET @rtv = 0BREAK --跳出循環ENDENDENDRETURN @rtv END?
列舉例子說明:
CREATE TABLE [dbo].[uTstTable] ([col1] NVARCHAR(20),[col2] NVARCHAR(20),[col3] NVARCHAR(20),[col4] NVARCHAR(20),[col5] NVARCHAR(20),[col6] NVARCHAR(20),[col7] NVARCHAR(20)) GOINSERT INTO [dbo].[uTstTable] ([col1],[col2],[col3],[col4],[col5],[col6],[col7]) VALUES ('0.65','000435','SF46DG','3800','$54KQ','-0034','-855.4') GOSELECT [dbo].[svf_IsPositiveInteger] ([col1]) AS [col1], [dbo].[svf_IsPositiveInteger] ([col2]) AS [col2], [dbo].[svf_IsPositiveInteger] ([col3]) AS [col3], [dbo].[svf_IsPositiveInteger] ([col4]) AS [col4], [dbo].[svf_IsPositiveInteger] ([col5]) AS [col5], [dbo].[svf_IsPositiveInteger] ([col6]) AS [col6], [dbo].[svf_IsPositiveInteger] ([col7]) AS [col7] FROM [dbo].[uTstTable] GO?
?
MS SQL自定義函數IsNumeric
判斷字符串是否為純數字,負數不算。如'00012','54585','1000'
?
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[svf_IsNumeric] (@string NVARCHAR(MAX) ) RETURNS BIT --函數返BIT數據類型,是數字返回1,非數字返回0。 AS BEGINDECLARE @rtv BIT = 1 DECLARE @str NVARCHAR(MAX) = LTRIM(RTRIM(ISNULL(@string,''))) --去除前后空格,如果為NULL轉為''DECLARE @start INT = 1; DECLARE @end INT = LEN(@str) --獲取字符串長度WHILE (@start <= @end) --循環字符串每一個字符BEGINDECLARE @Numeric VARCHAR(1) = ''SET @Numeric = SUBSTRING(@str, @start, @start + 1) -- 每循環一次,從左邊獲取一位字符IF ASCII(@Numeric) >= 48 AND ASCII(@Numeric) <= 57 --如果是數字BEGINSET @start = @start + 1;CONTINUE --繼續循環 ENDELSEBEGINSET @rtv = 0BREAK --跳出循環ENDENDRETURN @rtv END?
創建一個例子來演示:
?
CREATE TABLE [dbo].[uTable] ([col1] NVARCHAR(20),[col2] NVARCHAR(20),[col3] NVARCHAR(20),[col4] NVARCHAR(20),[col5] NVARCHAR(20),[col6] NVARCHAR(20),[col7] NVARCHAR(20)) GOINSERT INTO [dbo].[uTable] ([col1],[col2],[col3],[col4],[col5],[col6],[col7]) VALUES ('0.455','000435','SF46DG','4000','$%9KJ','-0034','-8554') GOSELECT [dbo].[svf_IsNumeric] ([col1]) AS [col1], [dbo].[svf_IsNumeric] ([col2]) AS [col2], [dbo].[svf_IsNumeric] ([col3]) AS [col3], [dbo].[svf_IsNumeric] ([col4]) AS [col4], [dbo].[svf_IsNumeric] ([col5]) AS [col5], [dbo].[svf_IsNumeric] ([col6]) AS [col6], [dbo].[svf_IsNumeric] ([col7]) AS [col7] FROM [dbo].[uTable] GO?
?
?
水晶報表使用IEnumerable<T>數據源
這篇我們學習水晶報表,報表呈現的數據源是IEnumerable<T>。比如下面的數據:
?
using System; using System.Collections.Generic; using System.Linq; using System.Web; using Insus.NET.Models;namespace Insus.NET.Entities {public class MachineEntity{public IEnumerable<Machine> Machines(){return new List<Machine>(){{ new Machine() {Key =1,ModelNumber ="TC03Q",Brand ="QT",ManufactureDate = Convert.ToDateTime("2008/12/31")}},{ new Machine() {Key =2,ModelNumber ="MH26U",Brand ="HW",ManufactureDate = Convert.ToDateTime("2012/03/09")}},{ new Machine() {Key =3,ModelNumber ="DW569",Brand ="XM",ManufactureDate = Convert.ToDateTime("2015/07/25")}}};}} }?
新建水晶報表:
?
?
?
?
?
?
按Next銨鈕,略過Group By。
?
銨Next銨鈕,略過Filter Fields。
?
?
報表創建OK。
?
根據這篇《ASP.NET MVC項目實現BasePage基類用作ASPX.CS網頁繼承》https://www.cnblogs.com/insus/p/9865023.html
我們還得在BasePage基類中,重載另一個方法:
?
在.aspx.cs網頁中,就可以使用上面的方法:
?
?
程序運行:
?
學習完畢。
希望對你有所幫助。
總結
以上是生活随笔為你收集整理的MS SQL自定义函数IsPositiveInteger MS SQL自定义函数IsNumeric 水晶报表使用IEnumerableT数据源...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java-集合做成逗号分隔的字符串-类似
- 下一篇: java知识博客网站(一些配置和学习的记