实用的SQL Server脚本函数方法有哪些
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章主要讲解了"实用的SQL Server脚本函数方法有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"实用的SQL Server脚本函数方法有
千家信息网最后更新 2024年11月20日实用的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 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脚本函数方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
函数
方法
实用
脚本
字符
视图
过程
存储
数字
数据
数据表
金额
学习
内容
字符串
小数
小数点
末尾
示例
圆角
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
庭深网络技术有限公司怎么样
广东工业服务器云服务器
文档数据库属于nosql吗
数据库多向查询
苹果12链接服务器超时
深圳市智慧享网络技术有限公司
阿里云 服务器 怎样
服务器安全维护方案
微信小程序软件开发实例
数据库的自然连接等于什么
forhonor无法连接服务器
网络安全手抄小报三年级
对提升网络安全意识的建议
禅道登录的服务器地址
公民能为网络安全做些什么
苹果ec1308升级服务器
新乡泰和网络技术有限
lol服务器召唤师
天津电信网络安全宣传周
数据库码只能有一个属性吗
杭州煎饼网络技术
网络安全国际大会上海
眉县互联网科技园
mysql数据库搭建
梦幻西游新手服务器转区携带宝石
网络技术就业情况分析报告
存储服务器最多的公司
网络技术应用简称什么
升方网络技术有限公司招聘
特殊的服务器