易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL 截取字符串,中文算两个字符的方法

--SQL 截取字符串方法,中文算两个字符的方法。
--方法跟水哥学习的,支持一下水哥的博客
--http://hi.csdn.net/link.php?url=http://blog.csdn.net%2Fwufeng4552
--水哥最近谢了好多博客,有时间一定去好好学习
--LEFT() 和SUBSTRING()都是将汉字算一个字符来算的
--如果不计较的话,推荐使用这两个系统函数
IF OBJECT_ID('TB')IS NOT NULL DROP TABLE TB
GO
CREATE TABLE tb (ID INT IDENTITY(1,1),VALUE NVARCHAR(100))
INSERT tb SELECT N'中国abcdefgh'
UNION ALL SELECT N'123 fsd——————'
UNION ALL SELECT N'中国人民'
UNION ALL SELECT N'是中国人,都是炎黄子孙,都是龙人传人'
go
----------------------------创建函数-----------------------
IF OBJECT_ID('f_cut') IS NOT NULL DROP FUNCTION f_cut
GO
CREATE FUNCTION f_cut
(
@s NVARCHAR(50),--你要截取的字符串
@i INT--截取的长度
)
RETURNS NVARCHAR(50)
AS
BEGIN
DECLARE @j INT
DECLARE @a NVARCHAR(100)
SET @j=1
WHILE @j<=@i
  BEGIN
   IF UNICODE(SUBSTRING(@s,@j,1)) BETWEEN 19968 AND 40868
    BEGIN
     SET @i=@i-1
    
    END
     SET @j=@j+1
  END
RETURN LEFT(@s,@i)
END
GO
------------------查询开始---------------
SELECT id,dbo.f_cut([VALUE],10)from tb
-------------------结果------------------
/*
(4 行受影响)
id         
----------- ----------------------------
1           中国abcdef
2           123 fsd———
3           中国人民
4           是中国人,
(4 行受影响)
*/


相关文档:

SQL

题目1:
问题描述:
 S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
 C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
 SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
 1.(1)找出选修过“李明”老师讲授课程的所有学生姓名
 --实现代 ......

常用 sql语句

SQL插入语句得到自动生成的递增 ID 值
 insert  into  Table1(Name,des,num)  values  ('ltp','thisisbest',10);
select  @@identity  as  'Id'
随机提取条记录的例子
SQL  Server:Select  Top  10  *  from  Tablename  Order  ......

SQL查询语句大全 T

 --语 句                                功 能
1、数据操作
Select      --从数据库表中检索数据行和列
Insert & ......

Sql 2005 递归查询

 Oracle中的递归查询可以依靠增强的sql语句START WITH ...CONNECT BY PRIOR来搞定.sql 2005中不支持该语句,以下示例可以实现递归查询.
WITH TREE(xzdm,Prexzdm,lvl,topxzdm)
AS
(
    SELECT xzdm,prexzdm,1,prexzdm as topxzdm from xzdm WHERE Prexzdm = '000000000000'
 &nbs ......

sql 交叉表

交叉表语句的实现:
  用于:交叉表的列数是确定的
  select name,sum(case subject when '数学' then source else 0 end) as '数学',
  sum(case subject when '英语' then source else 0 end) as '英语',
  sum(case subject when '语文' then source else 0 end) as '语文'
  from test
  group by name ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号