SQL Server 完美SPLIT函数
--
SQL Server Split函数
--
Author:zc_0101
--
说明:
--
支持分割符多字节
--
使用方法
--
Select * from DBO.F_SQLSERVER_SPLIT('1203401230105045','0')
--
select * from DBO.F_SQLSERVER_SPLIT('abc1234a12348991234','1234')
--
Select * from DBO.F_SQLSERVER_SPLIT('ABC',',')
CREATE
FUNCTION
F_SQLSERVER_SPLIT(
@Long_str
varchar
(
8000
),
@split_str
varchar
(
100
))
RETURNS
@tmp
TABLE
(
ID
inT
IDENTITY
PRIMARY
KEY
,
short_str
varchar
(
8000
)
)
AS
BEGIN
DECLARE
@long_str_Tmp
varchar
(
8000
),
@short_str
varchar
(
8000
),
@split_str_length
int
SET
@split_str_length
=
LEN
(
@split_str
)
IF
CHARINDEX
(
@split_str
,
@Long_str
)
=
1
SET
@long_str_Tmp
=
SUBSTRING
(
@Long_str
,
@split_str_length
+
1
,
LEN
(
@Long_str
)
-
@split_str_length
)
ELSE
SET
@long_str_Tmp
=
@Long_str
IF
CHARINDEX
(
REVERSE
(
@split_str
),
REVERSE
(
@long_str_Tmp
))
>
1
SET
@long_str_Tmp
=
@long_str_Tm
相关文档:
在SQL中可以使用Like进行模糊查询,例如 f_stuname like 'a%' 查询f_stuname列以a开头的记录。
当我们在应用中使用
f_stuname
like '%a%' 时,如果
f_stuname有索引的话,这个索引也是不执行的
在SQL优化中这个写法就是一个不好的SQL了。
那么如何来替换这个呢,这一个就用到了Oracle的instr函数了
我们可以这样 ......
1.SQL SERVER的数据类型
数据类弄是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer 提供了 25 种数据类型:
·Binary [(n)]
·Varbinary [(n)]
......
今天我在SQL Server 2005中用脚本创建一张表,查资料发现有的脚本中字段有加[]中符号,我问了冬季,得知是这回事,用[]的字段名,即便是sql关键字也可以作为字段名,不会报错。
SQL Server里的表中添加一个字段,如:time系统会自动加一对方括号即:[time] ......
SQL Server7.0数据库:数据仓库、数据复制、分布式数据库应用程序、Intelnet和Intranet应用和管理工具;
安装检测:1、net start mssqlsever;
2、osql /usa /p ;
......
从博客园中看到一篇文章,介绍大软件公司面试时常常会出的两道SQL题(见附录)。
我觉得受益很多,在此之前,我一直觉得,SQL2008似乎提供了这方面的支持,但更低的版本,包括2005,非游标做不出来(水平够菜)。总结心得如下:
1、 强大的group by
1 select stdname,
2 isnull(sum( ......