SQL 中常用的功能函数,自定义的功能行数

在SQL Server指定的数据库中,有Programmability目录,在这个目录下,有存储过程,有功能函数。
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go ALTER function [dbo].[fn_10to36] (
@i int
)
returns varchar(30)
as
begin declare @r varchar(30)
set @r= '' declare @m int
declare @s int
set @s=@i
while @s> =36
begin
set @m=@s % 36
set @r=case when @m <10 then cast(@m as varchar)
else cast(char(ascii( 'A')+@m-10) as varchar) end+@r
set @s=@s/36
end
if @s> 0 or (@s=0 and @r= '')
set @r=case when @s <10 then cast(@s as varchar)
else cast(char(ascii( 'A')+@s-10) as varchar) end+@r
return @r
end
比如上述,执行

is not a recognized function name.
上面报错,因为要加dbo.[function],
select dbo.[fn_10to36_ByJasmine] (101) 即可

下面是36wei转10位
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go ALTER function [dbo].[fn_36to10] (
@str varchar(30)
)
returns int
as
begin declare @returnValue int
select @returnValue = 0
declare @str36 varchar(32)
declare @subWork varchar(1)
declare @workIndex int
select @str36 = '123456789ABCDEFGHIJKLMNOPQRSTUVWSYZ' declare @len int
declare @i int
select @i = 1
select @len = datalength(@str) while (@i <= @len)
begin
select @subWork = SUBSTRING(@str, @i, 1)
select @workIndex = charindex( @subWork, @str36)
select @returnValue = @returnValue + (@workIndex * power(36, @len-@i))
select @i = @i + 1
end return @returnValue
end
前面再带个参数的
CREATE FUNCTION [DBO].[FN_10TO36] (
@I INT,@B VARCHAR(10))
RETURNS VARCHAR(30)
AS
BEGIN DECLARE @R VARCHAR(30)
SET @R='' DECLARE @M INT
DECLARE @S INT
SET @S=@I
WHILE @S>=36
BEGIN
SET @M=@S %36 ----取余
SET @R=CASE WHEN @M<10 THEN CAST(@M AS VARCHAR)
ELSE CAST(CHAR(ASCII('A')+@M-10)AS VARCHAR) END +@R
SET @S=@S/36 -----取值
END
IF @S>0 OR (@S=0 AND @R='')
SET @R=CASE WHEN @S<10 THEN CAST(@S AS VARCHAR)
ELSE CAST(CHAR(ASCII('A')+@S-10) AS VARCHAR ) END +@R
RETURN @B+RIGHT('0000'+@R,5)
END
SQL 中常用的功能函数,自定义的功能行数的更多相关文章
- Sql 中常用时间处理函数
1.Sql 中常用时间处理函数 GETDATE() 返回当前的日期和时间 DATEPART() 返回日期/时间的单独部分 DATEADD() 返回日期中添加或减去指定的时间间隔 DATEDI ...
- SQL点滴30—SQL中常用的函数
原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...
- SQL中Round(),Floor(),Ceiling()函数的浅析
项目中的一个功能模块上用到了标量值函数,函数中又有ceiling()函数的用法,自己找了一些资料,对SQL中这几个函数做一个简单的记录,方便自己学习.有不足之处欢迎拍砖补充 1.round()函数遵循 ...
- Python常用模块中常用内置函数的具体介绍
Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...
- 实际项目开发过程中常用C语言函数的9大用法
C语言是当中最广泛的计算机编程语言,是所有计算机编程语言的祖先,其他计算机编程语言包括当前流行的Java语言,都是用C语言实现的,C语言是编程效率最高的计算机语言,既能完成上层应用开发,也能完成底层硬 ...
- 在sql中使用了 hashbytes 函数
在做项目的时候,在sql中使用了hashbytes函数,运用md5算法去加密一密码.代码如下 DECLARE @psw nvarchar(20) SET @psw = 'admin' SELECT h ...
- Impala系列: Impala常用的功能函数
--=======================查看内置的函数--=======================hive 不需要进入什么内置数据库, 即可使用 show functions 命令列出 ...
- php中常用的正则表达式函数
php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...
- iOS开发中常用的数学函数
iOS开发中常用的数学函数 /*---- 常用数学公式 ----*/ //指数运算 3^2 3^3 NSLog(,)); //result 9 NSLog(,)); //result 27 //开平方 ...
随机推荐
- 搭建Vue2+Vuex+Webpack+Pug(jade)+Stylus环境
一.开发环境配置 开始之前,假设你已经安装了最新版本的 node 和 npm. 全局安装 vue-cli 和 webpack : npm install vue-cli webpack -g 创建工 ...
- 基于Redis实现分布式锁实战
背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等.大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端 ...
- Maven项目启动报错:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
1.场景 1.1.先确认pom.xml文件已添加mysql依赖: <dependency> <groupId>mysql</groupId> < ...
- mycat中schema.xml的一些解释
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> &l ...
- Solr基本操作
/update 使用/update进行索引维护,进入Solr管理界面SolrCore下的Document下: 我们进行更新操作可以用json和xml多种格式,这里以xml格式为例说明.先来看看界面上的 ...
- windows下openssl编译
昨晚,在编译rabbitmq-c时,使用cmake生成vs项目文件时遇到下列错误: CMake Error at C:/Program Files/CMake/share/cmake-3.6/Modu ...
- .net下安装 ZooKeeper.Net
PM> Install-Package ZooKeeper.Net正在尝试解析依赖项“log4net (≥ 1.2.10)”.正在安装“log4net 1.2.10”.已成功安装“log4net ...
- ArrayList集合、String[]数组、String字符串
数组初始化时候必须指定长度,而ArrayList是动态数组,可以根据实际内容改变 //声明stsArr数组并初始化 String[] strArr = new String[]{ "aaa& ...
- Python中的对象行为与特殊方法(二)类型检查与抽象基类
类型检查 创建类的实例时,该实例的类型为类本身: class Foo(object): pass f = Foo() 要测试实例是否属于某个类,可以使用type()内置函数: >>> ...
- ScheduledTheadPool线程池的使用
ScheduledTheadPool线程池的特点在于可以延迟执行任务,也可以周期性执行任务. 创建线程池 ScheduledExecutorService scheduled = Executors. ...