sql 几个常用函数
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 几个常用函数的更多相关文章
- Sql server 经典常用函数
..STUFF()用另一子串替换字符串指定位置.长度的子串.STUFF (<character_expression1>, <start_ position>, <len ...
- Sql Server中常用函数replicate
SQL常用函数之三 REPLICATE () 按指定次数重复字符表达式. 语法 REPLICATE ( character_expression, integer_expression) 参数 cha ...
- SQL Server数据库常用函数
好久没学习新知识了.今天学了下sql的一些常用语句.人还是需要不断学习进步的 否则只能停滞不前. 先从最简单的一句开始说起吧. select *from 表名 这里*的含义 表示了表的各字段,以逗号隔 ...
- MS SQL Server时间常用函数
SQLServer时间日期函数详解,SQLServer,时间日期, 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础 ...
- SQL SERVER 字符串常用函数
在开发T-SQL时,经常会需要对字符串进行各种各样的操作,下面介绍常用的字符串函数. 1.获取字符的ASCII码 ASCII ASCII码是对字符的标准编码.要获取字符的ASCII码就可以通过调用AS ...
- SQL 中的常用函数及使用
在SQL中我们使用的函数有很多,我们经常使用的就是下面的一些函数,那么我一一列举数来: 1:聚合函数:MAX 返回指定数据的最大值. MIN 返回指定数据的最小值. COUNT 返回指定组中项目的数量 ...
- sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数
一.系统函数 1.聚合函数 聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值AVG.COUNT.COUNT_BIG ...
- Sql 2008 的常用函数
1.LEN 函数:返回数据的长度 ') 返回:8 2.ASCII函数:返回字符串最左边的ascii值 SELECT ASCII('abc') 返回:97 3.LEFT函数:从左边开始截取指定长度的字符 ...
- SQL注入的常用函数和语句
1.系统函数 version() Mysql版本user() 数据库用户名database() 数据库名@@datadir 数据库路径@@version_compile_os 操 ...
随机推荐
- 在Eclipse中使用Github(EGit)
安装配置EGit 1. 安装Windows版的Git,登陆Github账号,登陆成功后会自动在本地和Github配置好密钥 2. 在Eclipse中安装EGit,地址http://download.e ...
- LightOJ 1074 Extended Traffic SPFA 消负环
分析:一看就是求最短路,然后用dij,果断错了一发,发现是3次方,有可能会出现负环 然后用spfa判负环,然后标记负环所有可达的点,被标记的点答案都是“?” #include<cstdio> ...
- Dim Loop 出现结果不同
(1)结果是:循环1次 Dim counter,num counter = 0 'num = 9 Do Until num = 10 num = num - 1 counter = c ...
- oracle to_date函数(转载)
TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- 如何通过Visual Studio发布Azure应用程序
发布 Azure 云服务 使用 Azure Tools for Visual Studio,可以直接从 Visual Studio 将云服务发布到 Azure. 在发布 Azure 云服务之前,必须已 ...
- 恢复oracle中误删除drop掉的表
查看回收站中表 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recycl ...
- js常用内置对象、Dom对象、BOM对象
11.html元素事件属性中,如onclick="",双引号里可以是方法条用,可以是js代码(无需加<script>标签) 12.JavaScript内置 对象.属性和 ...
- echarts 折线柱形上方显示自定义格式数据
series:[ { name: '成单率', type: 'line', data: valueArr2, itemStyle: { normal: { label: { show:true, po ...
- C#Winform窗口特效源码(1)
本文基于.Net开发,使用C#作为开发语言,分别包含以下效果: 移动无边框窗口.窗口移动限制(限制在屏幕内).桌面贴边自动隐藏(仿QQ隐藏窗口) 1.移动无边框窗口 采用了消息的方式,可以实现通过窗口 ...
- Android_消息机制
Android通过Looper.Handler来实现消息循环机制. Android的消息循环是针对线程的,每个线程都可以有自己的消息队列和消息循环. Android系统中的Looper负责管理线程的消 ...