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

sql 几个常用函数的更多相关文章

  1. Sql server 经典常用函数

    ..STUFF()用另一子串替换字符串指定位置.长度的子串.STUFF (<character_expression1>, <start_ position>, <len ...

  2. Sql Server中常用函数replicate

    SQL常用函数之三 REPLICATE () 按指定次数重复字符表达式. 语法 REPLICATE ( character_expression, integer_expression) 参数 cha ...

  3. SQL Server数据库常用函数

    好久没学习新知识了.今天学了下sql的一些常用语句.人还是需要不断学习进步的 否则只能停滞不前. 先从最简单的一句开始说起吧. select *from 表名 这里*的含义 表示了表的各字段,以逗号隔 ...

  4. MS SQL Server时间常用函数

    SQLServer时间日期函数详解,SQLServer,时间日期, 1.      当前系统日期.时间 select getdate() 2. dateadd      在向指定日期加上一段时间的基础 ...

  5. SQL SERVER 字符串常用函数

    在开发T-SQL时,经常会需要对字符串进行各种各样的操作,下面介绍常用的字符串函数. 1.获取字符的ASCII码 ASCII ASCII码是对字符的标准编码.要获取字符的ASCII码就可以通过调用AS ...

  6. SQL 中的常用函数及使用

    在SQL中我们使用的函数有很多,我们经常使用的就是下面的一些函数,那么我一一列举数来: 1:聚合函数:MAX 返回指定数据的最大值. MIN 返回指定数据的最小值. COUNT 返回指定组中项目的数量 ...

  7. sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数

    一.系统函数 1.聚合函数 聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值AVG.COUNT.COUNT_BIG ...

  8. Sql 2008 的常用函数

    1.LEN 函数:返回数据的长度 ') 返回:8 2.ASCII函数:返回字符串最左边的ascii值 SELECT ASCII('abc') 返回:97 3.LEFT函数:从左边开始截取指定长度的字符 ...

  9. SQL注入的常用函数和语句

    1.系统函数 version()   Mysql版本user()   数据库用户名database()    数据库名@@datadir   数据库路径@@version_compile_os   操 ...

随机推荐

  1. 关于I/O的那点事

    转载请著名作者和地址http://www.cnblogs.com/scotth/p/3645489.html 1.关于 IO (fopen出现的错误 errorCode 183) 相关知识点: < ...

  2. HW5.2

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  3. Java和.NET的GZIP压缩功能对比

    本文主要比较了Java和.NET提供的GZIP压缩功能. 介绍 在本文中,我们将讨论Java和.NET提供的GZIP压缩功能,并且用实例来说明哪个压缩方法更佳. 在Java中,我们有提供GZIP压缩的 ...

  4. iOS 开发 NSLog调试小技巧

    NSLog其实是一个非常损耗性能的东西,当你在开发了很长时间的一个项目中,想必为了方便调试,里面会有很多的NSLog输出,为了优化性能,同时又方便调试,可以在pch中定义一个宏,既可以替换原有的NSL ...

  5. 来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧.

  6. PetShop 4.0学习笔记:消息队列MSMQ

    直到今天才知道,在我们每天都在用的Window系统里还有这么好用的一个编程组件:消息队列.它能够解决在大数据量交换的情况下的性能问题,特别是BS系统的数据库性能.而且它的异步处理方式能给程序员最大的便 ...

  7. Android开源git40个App源码

    http://www.itbbu.com/1039.html (JamsMusicPlayer)很棒的音乐播放器(new)   (F8)日程安排的软件   (Conversations)基于XMPP的 ...

  8. springMVC项目引入jstl标签库若干问题的总结

    中午,不知道动到项目的哪个地方了,之前在联系人列表页面用的好好的jstl标签库突然报错了:<%@taglib prefix="c" uri="http://java ...

  9. Sqlserver到处数据到Excel

    转:http://www.cnblogs.com/litianfei/archive/2007/08/10/850823.html ) drop procedure [dbo].[p_exporttb ...

  10. DM8168 DVRRDK软件框架研究

    转载注明:http://blog.csdn.net/guo8113/article/details/41120491 Netra(DM8168)处理器是个多核处理器,每一个核之间相互独立却又相互关联, ...