SQLServer向MySQL移植笔记(一)自定义函数
2008-12-31 05:02
537 查看
这个是我在移植数据库后,从SQL Server移植过来的。对于SQL大侠们,这个算是毛毛雨了。
SQL Server2000的自定义函数如下:
CREATE FUNCTION getfiletype (@kuozhanming varchar(100))
RETURNS varchar(100)
AS
BEGIN
declare @filetype varchar(100)
declare @index int
set @filetype=''
if (@kuozhanming is null and @kuozhanming = '')
select @filetype = ''
else
begin
SET @kuozhanming = Reverse(@kuozhanming)
SELECT @index = charindex('.',@kuozhanming)
if (@index < 2)
select @filetype = ''
else
begin
SET @kuozhanming = left(@kuozhanming,@index - 1)
SET @kuozhanming = Reverse(@kuozhanming)
SET @kuozhanming = Lower(@kuozhanming)
SELECT @filetype =
CASE( @kuozhanming)
WHEN 'doc' THEN 'application/msword'
WHEN 'log' THEN 'application/octet-stream'
WHEN 'ini' THEN 'application/octet-stream'
WHEN 'exe' THEN 'application/octet-stream'
WHEN 'dll' THEN 'application/octet-stream'
WHEN 'rar' THEN 'application/octet-stream'
WHEN 'txt' THEN 'text/html'
WHEN 'html' THEN 'text/html'
WHEN 'htt' THEN 'text/html'
WHEN 'bmp' THEN 'image/bmp'
WHEN 'jpg' THEN 'image/pjpeg'
WHEN 'avi' THEN 'video/avi'
else @kuozhanming
end
end
end
return @filetype
END
MySQL实现相同功能的的自定义函数如下
drop function if exists getfiletype;
DELIMITER |
/*
取出文件名中扩展名的文件名称
比如
c:/1234/5678.txt
则返回 txt对应的 text/html;
*/
CREATE FUNCTION getfiletype (t_kuozhanming varchar(100))
RETURNS varchar(100)
BEGIN
declare t_filetype varchar(100);
declare t_index int;
set t_filetype='';
if (t_kuozhanming is null or t_kuozhanming = '') then
set t_filetype = '';
else
SET t_kuozhanming = Reverse(t_kuozhanming);
SET t_index = locate('.',t_kuozhanming) ;
if (t_index < 2) then
set t_filetype = '';
else
SET t_kuozhanming = left(t_kuozhanming,t_index - 1);
SET t_kuozhanming = Reverse(t_kuozhanming);
SET t_kuozhanming = Lower(t_kuozhanming);
SELECT CASE( t_kuozhanming)
WHEN 'doc' THEN 'application/msword'
WHEN 'log' THEN 'application/octet-stream'
WHEN 'ini' THEN 'application/octet-stream'
WHEN 'exe' THEN 'application/octet-stream'
WHEN 'dll' THEN 'application/octet-stream'
WHEN 'rar' THEN 'application/octet-stream'
WHEN 'txt' THEN 'text/html'
WHEN 'html' THEN 'text/html'
WHEN 'htt' THEN 'text/html'
WHEN 'bmp' THEN 'image/bmp'
WHEN 'jpg' THEN 'image/pjpeg'
WHEN 'avi' THEN 'video/avi'
else t_kuozhanming
end into t_filetype;
end if;
end if;
return t_filetype;
end|
DELIMITER ;
SQL Server2000的自定义函数如下:
CREATE FUNCTION getfiletype (@kuozhanming varchar(100))
RETURNS varchar(100)
AS
BEGIN
declare @filetype varchar(100)
declare @index int
set @filetype=''
if (@kuozhanming is null and @kuozhanming = '')
select @filetype = ''
else
begin
SET @kuozhanming = Reverse(@kuozhanming)
SELECT @index = charindex('.',@kuozhanming)
if (@index < 2)
select @filetype = ''
else
begin
SET @kuozhanming = left(@kuozhanming,@index - 1)
SET @kuozhanming = Reverse(@kuozhanming)
SET @kuozhanming = Lower(@kuozhanming)
SELECT @filetype =
CASE( @kuozhanming)
WHEN 'doc' THEN 'application/msword'
WHEN 'log' THEN 'application/octet-stream'
WHEN 'ini' THEN 'application/octet-stream'
WHEN 'exe' THEN 'application/octet-stream'
WHEN 'dll' THEN 'application/octet-stream'
WHEN 'rar' THEN 'application/octet-stream'
WHEN 'txt' THEN 'text/html'
WHEN 'html' THEN 'text/html'
WHEN 'htt' THEN 'text/html'
WHEN 'bmp' THEN 'image/bmp'
WHEN 'jpg' THEN 'image/pjpeg'
WHEN 'avi' THEN 'video/avi'
else @kuozhanming
end
end
end
return @filetype
END
MySQL实现相同功能的的自定义函数如下
drop function if exists getfiletype;
DELIMITER |
/*
取出文件名中扩展名的文件名称
比如
c:/1234/5678.txt
则返回 txt对应的 text/html;
*/
CREATE FUNCTION getfiletype (t_kuozhanming varchar(100))
RETURNS varchar(100)
BEGIN
declare t_filetype varchar(100);
declare t_index int;
set t_filetype='';
if (t_kuozhanming is null or t_kuozhanming = '') then
set t_filetype = '';
else
SET t_kuozhanming = Reverse(t_kuozhanming);
SET t_index = locate('.',t_kuozhanming) ;
if (t_index < 2) then
set t_filetype = '';
else
SET t_kuozhanming = left(t_kuozhanming,t_index - 1);
SET t_kuozhanming = Reverse(t_kuozhanming);
SET t_kuozhanming = Lower(t_kuozhanming);
SELECT CASE( t_kuozhanming)
WHEN 'doc' THEN 'application/msword'
WHEN 'log' THEN 'application/octet-stream'
WHEN 'ini' THEN 'application/octet-stream'
WHEN 'exe' THEN 'application/octet-stream'
WHEN 'dll' THEN 'application/octet-stream'
WHEN 'rar' THEN 'application/octet-stream'
WHEN 'txt' THEN 'text/html'
WHEN 'html' THEN 'text/html'
WHEN 'htt' THEN 'text/html'
WHEN 'bmp' THEN 'image/bmp'
WHEN 'jpg' THEN 'image/pjpeg'
WHEN 'avi' THEN 'video/avi'
else t_kuozhanming
end into t_filetype;
end if;
end if;
return t_filetype;
end|
DELIMITER ;
相关文章推荐
- mysql自定义函数学习笔记
- MySQL学习笔记-自定义函数
- MySQL学习笔记(十四)自定义函数
- sqlserver -- 学习笔记(一)自定义函数(学习总结,备忘)
- MysQL自学笔记9--自定义函数
- MySQL学习笔记7:MySQL自定义函数
- MySQL学习笔记 4:自定义函数和MySQL存储过程
- MySQL 中的自定义函数和存储过程 简单实例
- Mysql学习笔记二十二——常用函数
- MySQL中文汉字转拼音的自定义函数和使用实例(首字的首字母)
- sqlserver中编写自定义函数中的返回值问题
- 给MySQL增加mysql-udf-http和mysql-udf-json自定义函数,让MySQL有调用http接口和查询直接回JSON的能力
- 两个mysql自定义函数
- mysql 自定义函数与自定义存储过程的调用方法
- mysql自定义函数与过程中写法的注意事项
- MYSQL入门学习之十三:自定义函数的基本操作
- mysql自定义排序规则函数——field()
- mysql笔记5---一些常用函数
- MySQL笔记(四)之内建函数
- PHP学习笔记——自定义函数中的返回值(return);