SQL
文章平均质量分 52
iteye_13847
这个作者很懒,什么都没留下…
展开
-
sql 打印某个时间段的所有天
declare @date datetime set @date = Convert(datetime,'2008-01-01') while @date2008-01-30 17:28:46 · 181 阅读 · 0 评论 -
select查询 赋值
用 set 可以直接将 null 赋值给某变量 如: set @Id = null 用 select 查询时赋值,需注意几个问题 1. 当查询语句 没有用到聚合函数,若查询结果为空,则不会给变量赋值 如: select @Id = Id from tab where Id = -1 @Id 为 null 2. 当查询语句 用到聚合函...2008-12-08 16:45:06 · 748 阅读 · 0 评论 -
存储过程中获取另一个存储过程返回的记录集
调用 存储过程 A返回 1 a 2 b 3 c 在存储过程 B 中 可以用 表变量 或 临时表 来, 获取 存储过程 A 中返回的记录如: declare @tab table ( id int, Name nvarchar(50) ) inse...2008-10-18 11:16:29 · 134 阅读 · 0 评论 -
sql 表变量+while遍历表
declare @temp table ( [id] int IDENTITY(1,1), [Name] varchar(10) ) declare @tempId int,@tempName varchar(10) insert into @temp values('a') insert into @temp values('b') insert into @temp values...原创 2008-10-16 18:50:12 · 305 阅读 · 0 评论 -
求出一个字符串中某个字符出现的次数
declare @MyStr nvarchar(200) SET @MyStr='a,b,c,d,e' 用 ",," 替换 "," 得出新长度 再减去原字符串长度 得出 "," 在字符串中出现在次数SELECT len ( replace ( @MyStr , ' , ' , ' ,, ' ) ) - len ( @MyStr ) ...2007-10-24 16:13:11 · 159 阅读 · 0 评论 -
sql解析XML
表:create table bank( bankid int IDENTITY(1,1) primary key, bankname nvarchar(50) )存储过程:ALTER proc [dbo].[bankAdd]@Params ntextasdeclare@hDoc int,@bankId int,@bankName nvarcha...2007-10-20 17:32:51 · 87 阅读 · 0 评论 -
获得表的所有字段
alter proc Data_GetTableFields( @tableName nvarchar(50), @sql nvarchar(500) out)AS Declare @fileName nvarchar(50) set @sql = '' exec ('Declare checkImg cursor for select [Name]...2007-10-20 17:28:14 · 93 阅读 · 0 评论 -
数据库版本的控制
用时先向X_DBVersion表插入版本号,如1.02007-10-12 23:25:30 · 119 阅读 · 0 评论 -
把字符串传到存储过程中分割
有时候需要把多个值同时传到存储过程中去为了避免造成程序与数据库多次交互可以把多个ID用某个符号分隔,如"1,2,3",用一个字符串传到存储过程里注意:把最后的那个符号去掉,应是" 1,2,3 "而不是" 1,2,3, "创建分解函数:/*------------------------------------------------------------------------------...2007-10-12 23:24:17 · 105 阅读 · 0 评论 -
sql中游标等一些对象的使用
表结构 create table users ( id int, name nvarchar(50) ) 用游标遍历表 declare @id ...2007-10-12 23:23:06 · 219 阅读 · 0 评论 -
sql中得到字符串中的数字
目标:从 ' a 1 b 2cs 3 ' 中得到 123CREATE FUNCTION uf_Num( @Text NVARCHAR(50))RETURNS INTASBEGIN SET @Text = UPPER(REPLACE(@Text, ' ', '')) DECLARE @I INT, @N INT, @START INT, @END INT, @CHAR C...2007-10-12 23:21:23 · 193 阅读 · 0 评论 -
sql中自动生成ID编号
表:create table users( id nvarchar(50), name nvarchar(50))存储过程:alter PROCEDURE ListIdBuild( @action INT = 1, -- 类型 如1是生成一种编号,2是生成另一种编号 @lstId NVARCHAR(50) = NULL OUTPUT)ASDECLARE...2007-10-12 23:19:34 · 1655 阅读 · 0 评论 -
sql 日期
SQL Server中一些有用的日期sql语句1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) 3.一年的第一天 SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) 4.季...原创 2009-06-16 17:12:02 · 207 阅读 · 0 评论 -
最快速度得到记录数
select rowcnt from sysindexes where id= object_id('表名) and indid=12009-05-04 19:50:14 · 172 阅读 · 0 评论 -
求小数后多于两位的数字
select 数字 from tabwhere 数字 * 100 <> cast(数字 * 100 as int)2009-04-21 15:49:01 · 111 阅读 · 0 评论 -
分页控件、存储过程 URL传参数
存储过程 USE [TicketCenter]GO/****** Object: StoredProcedure [dbo].[W_TicketCenter_TicketsGet] Script Date: 06/11/2008 10:16:44 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- 获取所有TicketALTE...2008-06-11 10:32:51 · 138 阅读 · 0 评论 -
保留两位小数,并只舍不入 舍弃数字后面无用的0和点
保留两位小数,并只舍不入 1. declare @a decimal(18,12) set @a = 3.21969 select cast(@a - 0.005 as decimal(18,2)) 2. select round(3.21969, 2,1) 结果 3.21 舍弃数字后面无用的0和点 1. select cast(1.20 as real) select cast...2008-04-02 16:23:20 · 2573 阅读 · 0 评论 -
查看某个表被哪些对象引用
SELECT OBJECT_NAME([object_id]),*FROM sys.sql_modulesWHERE PATINDEX('%b_order%',[definition])>0 查看哪些视图、存储过程、函数等对象引用了 b_order 表2009-08-12 14:58:52 · 214 阅读 · 0 评论