首页 技术 正文
技术 2022年11月14日
0 收藏 585 点赞 2,875 浏览 2168 个字

ROUND 用法:

–15.000 表示小数点第一位取四舍五入,将原小数点后的位数都设置为0
SELECT ROUND(15.258,0)

–15.300,第二个参数如果是1,则取原值小数点后第一位的四舍五入法,小数点第一位之后的参数用0代替
SELECT ROUND(15.258,1)

space用法:

space()是SQL的函数: 返回一个字符串,其中包含N个空格字符。


例: select space(3);返回0个空格字符。

可以使用len(space(3));获取的长度为0

例如:

select replace(space(10 – LEN(convert(nvarchar(30), 114))), space(1), ‘0’)

获取的长度为7,以第二个参数的长度为一个单位进行分割,例如是1,就是分7个单位,每个为0;结果:0000000

如果是2,则最多可分为3个单位,则结果为000

如果是3,则最多分为2个单位,结果为00

如果为4,5,6,7,则最多可分为1个单位,结果就是0

–2
SELECT charINDEX(‘bce’,’abcd’)

— 2
SELECT PATINDEX(‘%bce%’,’abcd’)
–bcd
SELECT x = SUBSTRING(‘abcdef’, 2, 3)

–字符串类型的10
SELECT CAST(10 AS nvarchar(MAX))

—abxxxfghixxx
SELECT REPLACE(‘abcdefghicde’,’cde’,’xxx’)

set @vendorName=REPLACE(@vendorName,””,”””)

–07/04/2016 (一般在时间格式和字符串格式之间相互转换)
SELECT CONVERT(varchar(30),getdate(),101) now

当然也可以:

select  convert(nvarchar(30), g.Id)

ISNULL(@user, ‘0’)

该字段如果存在null,则转为字符串类型:”0″

–开启

可以在存储过程设置这个参数:

–一个是否成功的标记

@adjustResult INT = NULL OUTPUT –结果:1:成功,0失败

SET QUOTED_IDENTIFIER ON

添加异常捕捉和事务处理

BEGIN TRY

BEGIN TRANSACTION

–todo 业务

–比如

SELECT @oldStockQuantity = StockQuantity, @allowPreOrder = AllowPreOrder, @preOrderStockQuantity = PreOrderStockQuantity
FROM dbo.User WITH(UPDLOCK) WHERE Id = @Id

SET @newStockQuantity = @oldStockQuantity + @quantityToChange

IF @allowPreOrder = 0 AND @newStockQuantity < 0
SELECT 0;
ELSE IF@allowPreOrder = 1 AND @newStockQuantity < (-1) * @preOrderStockQuantity
SELECT 0;;
ELSE
BEGIN
UPDATE dbo.Goods
SET StockQuantity = @newStockQuantity
WHERE Id = @goodsId

SELECT 1
END

COMMIT TRANSACTION

END TRY

BEGIN CATCH
IF @@TRANCOUNT > 0 or xact_state() <>0
ROLLBACK TRANSACTION ;
DECLARE @ExtErrMsg NVARCHAR(4000)
DECLARE @ERROR_MESSAGE NVARCHAR(4000) = ERROR_MESSAGE()
DECLARE @ERROR_SEVERITY INT = ERROR_SEVERITY()
DECLARE @ERROR_STATE INT = ERROR_STATE()
DECLARE @ERROR_PROCEDURE NVARCHAR(4000) = ERROR_PROCEDURE()
DECLARE @ERROR_LINE INT = ERROR_LINE()
DECLARE @ERROR_NUMBER INT = ERROR_NUMBER()
IF @ERROR_PROCEDURE IS NULL SET @ERROR_PROCEDURE = ISNULL(OBJECT_NAME(@@PROCID), ‘nul’)
SET @ExtErrMsg = ISNULL(@ERROR_PROCEDURE, ‘nul’) + ‘:’+ CONVERT(NVARCHAR(10), @ERROR_LINE) + ‘:’ + @ERROR_MESSAGE
–EXEC WriteLogMessage @@PROCID, @@NESTLEVEL, ”, @ERROR_LINE, @ERROR_MESSAGE, @ERROR_NUMBER, @ERROR_PROCEDURE, @ERROR_SEVERITY,@ERROR_STATE;
RAISERROR ( @ExtErrMsg, @ERROR_SEVERITY, @ERROR_STATE ) WITH LOG ;
RETURN ” ;
END CATCH

–关闭

SET QUOTED_IDENTIFIER OFF

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295