易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : sql

SQL 控制流程

Transact-SQL 提供了(BEGIN...END、BREAK、GOTO、CONTINUE、IF...ELSE、WHILE、RETURN、WAITFOR)控制流关键字,用于控制 Transact-SQL 语句、语句块、用户定义函数以及存储过程的执行流。 不使用控制流语言,则各 Transact-SQL 语句按其出现的顺序分别执行。控制流语言使用与程序设计相似的构造使语句得以互相连接、关联和相互依存。 当控制流语句不能跨多个批处理、用户定义函数或存储过程。 一、 BEGIN...END BEGIN 和 END 语句用于将多个 Transact-SQL 语句组合为一个逻辑块(即相当于C语言中{}的功能)。 例 IF (@@ERROR 0)
BEGIN
   SET @ErrorSaveVariable = @@ERROR
   PRINT 'Error encountered, ' +
         CAST(@ErrorSaveVariable AS VARCHAR(10))
END 注意: (1)BEGIN 和 END 语句块必须至少包含一条 Transact-SQL 语句。 (2)BEGIN 和 END 语句必须成对使用,任何一个均不能单独使用。BEGIN、 END 必须单独出现在一行中。 BEGIN 和 END 语句用于下列情况: (1)WHILE 循环需要包含语句块。 (2)CASE 函数的元素需要包含语句块。 (3)IF 或 E ......

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'
    UNION ALL
    SELECT A.xzdm,A.Prexzdm,B.lvl+1,b.topxzdm from xzdm A
    INNER JOIN
    TREE B ON A.Prexzdm = B.xzdm
)
SELECT * from TREE
 
xzdm--行政代码
Prexzdm--上级行政代码
lvl--行政区级别
topxzdm--根节点行政代码
 
通过递归查询能返回'000000000000'地区下辖的所有行政单位
 
xzdm表的结构为
xzdm--行政代码
Prexzdm--上级行政代码
lvl--行政区级别
  ......

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
  --用于:交叉表的列数是不确定的
  declare @sql varchar(8000)
  set @sql = 'select name,'
  select @sql = @sql + 'sum(case subject when '''+subject+'''
  then source else 0 end) as '''+subject+''','
  from (select distinct subject from test) as a
  select @sql = left(@sql,len(@sql)-1) + ' from test group by name'
  exec(@sql)
  go ......

java获取SQL查询结果集中的行数和列数

http://cheneyph.javaeye.com/blog/477829
         在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 
ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
rset.last(); 
int rowCount = rset.getRow(); //获得ResultSet的总行数
第二种:利用循环ResultSet的元素来获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
int rowCount = 0; 
while(rset.next()) { 
   rowCount++; 
}
rowCount就是ResultSet的总行数。
第三种:利用sql语句中的count函数获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName"); 
int rowCount = 0; 
if(rset.next()) { 
   rowCount=rset .getInt("totalCount "); 
}
rowCount就是ResultSet的总行数。 ......

java获取SQL查询结果集中的行数和列数

http://cheneyph.javaeye.com/blog/477829
         在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 
ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
rset.last(); 
int rowCount = rset.getRow(); //获得ResultSet的总行数
第二种:利用循环ResultSet的元素来获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
int rowCount = 0; 
while(rset.next()) { 
   rowCount++; 
}
rowCount就是ResultSet的总行数。
第三种:利用sql语句中的count函数获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName"); 
int rowCount = 0; 
if(rset.next()) { 
   rowCount=rset .getInt("totalCount "); 
}
rowCount就是ResultSet的总行数。 ......

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
 &nbs ......

SQL常用字符串函数

一、字符转换函数
1、ASCII()
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
2、CHAR()
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。
3、LOWER()和UPPER()
LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。
4、STR()
把数值型数据转换为字符型数据。
STR (<float_expression>[,length[, <decimal>]])
length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;
当length 小于小数点左边(包括符号位)的位数时,返回length 个*;
先服从length ,再取decimal ;
当返回的字符串位数小于length ,左边补足空格。
二、去空格函数
1、LTRIM() 把字符串头部的空格去掉。
2、RTRIM() 把字符串尾部的空格去掉。
三、取子串函数
1、left()
LEFT (<character_expression>, <integer_expression>)
返回character_expression 左起 integer ......
总记录数:4346; 总页数:725; 每页6 条; 首页 上一页 [555] [556] [557] [558] 559 [560] [561] [562] [563] [564]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号