实用的SQL Server脚本函数方法有哪些
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章主要讲解了"实用的SQL Server脚本函数方法有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"实用的SQL Server脚本函数方法有
千家信息网最后更新 2025年11月16日实用的SQL Server脚本函数方法有哪些
这篇文章主要讲解了"实用的SQL Server脚本函数方法有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"实用的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 GO4、金额转换为大写
/* 说明:数字金额转中文金额 示例: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脚本函数方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
函数
方法
实用
脚本
字符
视图
过程
存储
数字
数据
数据表
金额
学习
内容
字符串
小数
小数点
末尾
示例
圆角
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
麦池交友软件开发商
ibm服务器为什么会快速衰败
第一届内蒙古网络安全论坛
一层网络技术
保护未成年人网络安全的软件
天行vpn 服务器
三同步网络安全资金投入
智睿网络技术服务
数据库字段拼接
cs软件开发用语言
路由器dhcp 服务器在哪里
orcle数据库汉字长度
域名怎么发到服务器上
北京就趣互联网科技
ftp服务器模拟目录的作用
研华服务器主板
息县软件开发专业
数据库表里套表
网络安全服务机构等级评定
福安市大禹网络技术有限公司
姑苏区智能服务器优质推荐
浙江电脑软件开发收费报价表
应聘软件开发求职信
第五空间 网络安全宣传
华为人才学习数据库
腾讯云建立软件服务器
软件开发过程源代码管理
服务器搭建聊天室
2017年网络安全的主题
圆方K20软件用服务器