sql创建函数
-测试环境mssql2008
-Idea,用逗号将字符串拆分,然后转换成行和列。
-最好使用CLR
-1.建造一张桌子
创建表T
(
pkq varchar(200)
)
-2.插入数据
插入到T值(& # 39;井4,井0,井0,井0,井0,井0,,,,,,,,& # 39;)
插入到T值(& # 39;匡,井0,休,井0,井0,井0,井0,井8,井4,井0,井0,井0,井8,井4 & # 39;)
插入到T值(& # 39;匡,井0,休,井0,井0,休,休,井0,井0,井休,井8,井4 & # 39;)
-3.创建一个字符串拆分函数(用C#创建一个CLR函数会更好)
创建函数f _ split 1(@ source SQL Varchar(8000),@StrSeprate Varchar(2))
返回@temp Table(id Int Identity(1,1),col Varchar(100))
如同
开始
将@ch声明为Varchar(100)
set @ source SQL = @ source SQL
@ str seprate
while(@ source SQL & lt;& gt'')
开始
Set @ch=left(@SourceSql,Charindex(@StrSeprate,@SourceSql,1)-1)
插入@temp(col)值(@ch)
Set @SourceSql=Stuff(@SourceSql,1,Charindex(@StrSeprate,@SourceSql,1),& # 39;')
结束
返回
结束
-3.调查
挑选
[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],
[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],
[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31]
从
(
select ROW _ NUMBER()over(order by getdate())AS Rn,*的
从T
)的外部应用dbo.f_split1(pkq,& # 39;,')
在枢轴上转动
(
最大值(列)
对于中的id
(
[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],
[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],
[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31]
)
)P
-4.影响
SQL语句,数据库中,我要将字符串转换为数值应该用什么函数?
Int(number) : 转换为小于或等于接收参数的最大整数值, CInt(number) :转换为表达式为Integer 型的数值, CLng(number): 转换为表达式为Long 型的数值, Fix(number) :去掉参数的小数部分并传回, cCur(number) :转换为 Currency 子类型的数值 以上请选择使用。
Microsoft SQL Server如何创建,自定义函数?
Create Function RmGetPY(@chn nchar(1))
returns char(1)
as
begin
declare @n int
declare @c char(1)
set @n = 63
select @n = @n +1,@c = case chn when @chn then char(@n) else @c end from(
select top 27 * from (
select chn =
‘吖’ union all select
‘八’ union all select
‘嚓’ union all select
‘咑’ union all select
‘妸’ union all select
‘发’ union all select
‘旮’ union all select
‘铪’ union all select
‘丌’ union all select
‘丌’ union all select
‘咔’ union all select
‘垃’ union all select
‘呒’ union all select
‘拏’ union all select
‘噢’ union all select
‘妑’ union all select
‘七’ union all select
‘呥’ union all select
‘仨’ union all select
‘他’ union all select
‘屲’ union all select
‘屲’ union all select
‘屲’ union all select
‘夕’ union all select
‘丫’ union all select
‘帀’ union all select @chn) as a
order by chn COLLATE Chinese_PRC_CI_AS
) as b
return(@c)
end
go
Create Function GetAllPY(@chn nvarchar(100))
returns varchar(30)
as
begin
declare @i int,@j int,@result varchar(100)
set @result=”
set @i=len(@chn)
set @j=1
while @j<=@i
begin
set @result = @result + dbo.RmGetPY(substring(@chn,@j,1))
set @j=@j+1
end
return @result
end
看看这两个,典型的取汉字拼音码的函数
SQL统计函数的使用方法?
1、在使用SQL查询数据时,有时希望对查询的结果集进行统计分析。例如,统计所有课程的单价总和、求出结果集所有记录的最大值或最小值、结果集中的记录数量等统计数据。这就需要用到SQL统计函数。SQL统计函数是在查询结果集的基础上对列数据进行各种统计运算,运算的结果形成一条汇总记录。下表给出了MySQL提供的统计函数及其功能。
2、上表中的ALL为统计函数的默认选项,指计算所有的值;使用DISTINCT关键字则去掉重复值;列表表达式是指含有列名的表达式。下面给出几个常用统计函数的例子。
例1:查询mooc数据库的course表,查询所有课程记录,并求出课程记录价格字段的总和。
求课程记录价格字段的总和可以使用SUM函数,SUM函数只能用于数值型字段,并且忽略列值为NULL的记录。在查询窗口输入下面的SQL语句。
SELECT name, SUM(price) as 总价 FROM course
在上面的SQL语句中,使用SUM函数计算price字段值的总和,并使用AS关键字将price字段别名为“总价”。SQL查询结果如下图所示。
3、例2:查询mooc数据库的course表,查询所有课程记录,并求出课程记录价格字段的最大值和最小值。
求课程记录价格字段的最大值和最小值,可以使用MAX和MIN函数,MAX函数求出给定列值的最大值,MIN函数求出给定列值的最小值,MAX和MIN函数可用于数值型字段、字符串型字段、日期类型字段。在查询窗口输入下面的SQL语句。
SELECT MAX(price) AS 最大值,MIN(price) AS 最小值 FROM course
在上面的SQL语句中,使用MAX函数求出所有课程记录price字段的最大值,并使用AS关键字将price字段别名为“最大值”;使用MIN函数求出所有课程记录price字段的最小值,并使用AS关键字将price字段别名为“最小值”。SQL查询结果如下图所示。
4、例3:查询mooc数据库的course表,查询类别为“机器学习”的课程记录,并求出课程数量。
求课程的数量可以使用COUNT函数,COUNT函数用于统计查询结果集中记录的个数,在COUNT函数中,“*”用于统计所有记录的个数,ALL关键字用于统计指定列的列值非空记录个数,DISTINCT关键字用于统计指定列的列值非空且不重复的记录个数,默认值为ALL。在查询窗口输入下面的SQL语句。
SELECT COUNT(*) AS 课程总数 FROM course WHERE category=”机器学习”
在上面的SQL语句中,使用COUNT函数求出查询结果集的记录数,在COUNT函数中使用“*”指明要统计所有记录个数。SQL查询结果如下图所示。
5、例4:查询mooc数据库的course表,查询所有课程记录,并求出课程单价的平均值。
求课程单价的平均值,可以使用AVG函数,AVG函数用于计算给定列值的平均值,AVG函数只能用于数值型字段。在查询窗口输入下面的SQL语句。
SELECT AVG(price) AS 平均价格 FROM course
在上面的SQL语句中,使用AVG函数求出课程记录price字段的平均值,并使用AS关键字将price字段别名为“平均价格”。SQL查询结果如下图所示。
sql怎么使用自定义函数来查询?
用游标: declare @变量1 varchar(50),@变量2 varchar(50) —–创建游标 declare mycurs cursor for select 字段A,字段B from table1 open mycurs—–打开游标 fetch next from mycurs into @变量1,变量2 while @@fetch_Status=0–循环游标 begin —循环处理 fetch next from mycurs into @变量1,变量2 end close mycurs Deallocate mycurs 我说的可能不好,你自己去可以看看游标的相关资料。
sql语句的几个常用函数总结?
聚合函数max() count() sum() min()开窗函数row_number(),rank()时间函数convert(),adatediff(week,,getdate())