存储过程
USE [TicketCenter]GO/****** Object: StoredProcedure [dbo].[W_TicketCenter_TicketsGet] Script Date: 06/11/2008 10:16:44 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO
-- 获取所有TicketALTER proc [dbo].[W_TicketCenter_TicketsGet]@CategoryId int = 0,@Subject nva ...
保留两位小数,并只舍不入
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(1.00 as real)
2. 1.20.ToString("G")
1.00.ToString("G")
结果 1.2 1
3. ...
declare @date datetime
set @date = Convert(datetime,'2008-01-01')
while @date <= '2008-01-31'
begin
print convert(nvarchar(10), @date, 120)
set @date=dateadd(day, 1, @date)
end
计算两个时间的时间差
select datediff(n,Convert(datetime,'08:30:00'),Convert(datetime,'08:53:00' ...
declare @MyStr nvarchar(200)
SET @MyStr='a,b,c,d,e'
用 ",," 替换 "," 得出新长度 再减去原字符串长度 得出 "," 在字符串中出现在次数
SELECT len ( replace ( @MyStr , ' , ' , ' ,,  ...
表:
create table bank
(
bankid int IDENTITY(1,1) primary key,
bankname nvarchar(50)
)
存储过程:
ALTER proc [dbo].[bankAdd]
@Params ntext
as
declare
@hDoc int,
@bankId int,
@bankName nvarchar ...
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] from sysc ...
有时候需要把多个值同时传到存储过程中去为了避免造成程序与数据库多次交互可以把多个ID用某个符号分隔,如"1,2,3",用一个字符串传到存储过程里注意:把最后的那个符号去掉,应是" 1,2,3 "而不是" 1,2,3, "创建分解函数:/*--------------------------------------------------------------------------------------------[描述] 分解字符串,然后将字符串存放在Table中------------------ ...
表结构
create table users
(
id int,
name nvarchar(50)
)
用游标遍历表
declare @id int, @name nvarchar(50)
declare myCursor cursor for s ...
--设置要获取的页面的第一条记录位置
set @firstRecord = ( @curPage - 1 ) * @pageSize + 1
select * from (select*, row_number()over( order by id ) as rowNo from 表名) as tab
where rowNo between 1 and 10
--设置要获取的页面的记录集范围
set @pages = ( @curPage - 1 ) * ...
目标:从 ' a 1 b 2cs 3 ' 中得到 123
CREATE FUNCTION uf_Num
(
@Text NVARCHAR(50)
)
RETURNS INT
AS
BEGIN
SET @Text = UPPER(REPLACE(@Text, ' ', ''))
DECLARE @I INT, @N INT, @START INT, @END INT, @CHAR CHAR, @NUM NVARCHAR(10), @UNIT INT
SET @N = L ...
表:
create table users
(
id nvarchar(50),
name nvarchar(50)
)
存储过程:
alter PROCEDURE ListIdBuild
(
@action INT = 1, -- 类型 如1是生成一种编号,2是生成另一种编号
@lstId NVARCHAR(50) = NULL OUTPUT
)
AS
DECLARE
@prefix N ...







评论排行榜