久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

實用的SQL Server腳本函數方法有哪些

213次閱讀
沒有評論

共計 3080 個字符,預計需要花費 8 分鐘才能閱讀完成。

這篇文章主要講解了“實用的 SQL Server 腳本函數方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“實用的 SQL Server 腳本函數方法有哪些”吧!

1、字符串指定字符分割為 list

--  字符串指定字符分割為 list CREATE FUNCTION [dbo].[splitl] ( @String VARCHAR(MAX), @Delimiter VARCHAR(MAX) ) RETURNS @temptable TABLE (items VARCHAR(MAX)) AS BEGIN DECLARE @idx INT=1 DECLARE @slice VARCHAR(MAX) IF LEN(@String)   1 OR LEN(ISNULL(@String,)) = 0 RETURN WHILE @idx != 0 BEGIN SET @idx = CHARINDEX(@Delimiter,@String) IF @idx != 0 SET @slice = LEFT(@String,@idx - 1) ELSE SET @slice = @String IF LEN(@slice)   0 INSERT INTO @temptable(items) VALUES(@slice) SET @String = RIGHT (@String, LEN(@String) - @idx) IF LEN(@String) = 0 BREAK END RETURN END GO --  調用方式  SELECT * FROM dbo.splitl(aaa|bbb|ccc , |)

2、數字去掉末尾的 0

--  數字去掉末尾的 0  CREATE function [dbo].[ClearZero](@inValue varchar(50)) returns varchar(50) as begin declare @returnValue varchar(20) if(@inValue=) set @returnValue=  -- 空的時候為空  else if (charindex( . ,@inValue) = 0 ) set @returnValue=@inValue -- 針對不含小數點的  else if ( substring(reverse(@inValue),patindex(%[^0]% ,reverse(@inValue)),1)= . ) set @returnValue = left(@inValue,len(@inValue)-patindex(%[^0]% ,reverse(@inValue))) -- 針對小數點后全是 0 的  else set @returnValue =left(@inValue,len(@inValue)- patindex(%[^0]%.% ,reverse(@inValue))+1) -- 其他任何情形  return @returnValue end -- 調用示例  SELECT dbo.ClearZero(258.250300)

3、創建表、視圖、函數、存儲過程判斷是否存在

/* 判斷函數 / 方法是否存在, 若存在則刪除函數 / 方法 */ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE name =  Func_Name) DROP FUNCTION Func_Name; GO -- 創建函數 / 方法  CREATE FUNCTION Func_Name ( @a INT ) RETURN INT AS BEGIN --coding END GO /* 判斷存儲過程是否存在, 若存在則刪除存儲過程 */ IF EXISTS (OBJECT_NAME( Proc_Name , P) IS NOT NULL DROP PROC Proc_Name; GO -- 創建存儲過程  CREATE PROC Proc_Name AS SELECT * FROM Table_Name GO /* 判斷數據表是否存在, 若存在則刪除數據表 */ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE name =  Table_Name) DROP VIEW Table_Name; GO -- 創建數據表  CREATE TABLE Table_Name ( Id INT PRIMARY KEY NOT NULL ) /* 判斷視圖是否存在, 若存在則刪除視圖 */ IF EXISTS (SELECT * FROM sys.views WHERE name =  View_Name) DROP VIEW View_Name GO -- 創建視圖  CREATE VIEW View_Name AS SELECT SELECT * FROM table_name GO

4、金額轉換為大寫

/*  說明:數字金額轉中文金額   示例:187.4  轉成   壹佰捌拾柒圓肆角整  */ CREATE FUNCTION [dbo].[CNumeric](@num numeric(14,2)) returns nvarchar(100) BEGIN Declare @n_data nvarchar(20),@c_data nvarchar(100),@n_str nvarchar(10),@i int Set @n_data=right(space(14)+cast(cast(abs(@num*100) as bigint) as nvarchar(20)),14) Set @c_data=  Set @i=1 WHILE @i =14 Begin set @n_str=substring(@n_data,@i,1) if @n_str  begin IF not ((SUBSTRING(@n_data,@i,2)=  00 ) or ((@n_str=  0) and ((@i=4) or (@i=8) or (@i=12) or (@i=14)))) SET @c_data=@c_data+SUBSTRING( N 零壹貳叁肆伍陸柒捌玖 ,CAST(@n_str AS int)+1,1) IF not ((@n_str=  0) and (@i   4) and (@i   8) and (@i   12)) SET @c_data=@c_data+SUBSTRING( N 仟佰拾億仟佰拾萬仟佰拾圓角分 ,@i,1) IF SUBSTRING(@c_data,LEN(@c_data)-1,2)= N 億萬  SET @c_data=SUBSTRING(@c_data,1,LEN(@c_data)-1) END SET @i=@i+1 END IF @num  0 SET @c_data= (負數)+@c_data IF @num=0 SET @c_data=  零圓  IF @n_str=  0  SET @c_data=@c_data+  整  RETURN(@c_data) END

感謝各位的閱讀,以上就是“實用的 SQL Server 腳本函數方法有哪些”的內容了,經過本文的學習后,相信大家對實用的 SQL Server 腳本函數方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-27發表,共計3080字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 漯河市| 育儿| 汤原县| 邵阳县| 宜兰县| 颍上县| 普兰店市| 南城县| 梅州市| 通海县| 德令哈市| 万全县| 九江县| 长丰县| 博兴县| 满洲里市| 大城县| 漳浦县| 瑞昌市| 佛学| 太仓市| 稷山县| 本溪市| 余庆县| 敦化市| 恩平市| 新宁县| 嘉定区| 甘德县| 罗江县| 廉江市| 娄底市| 梅河口市| 昌都县| 通道| 桂平市| 青川县| 宁远县| 沁水县| 北流市| 英吉沙县|