SQL
数据库
kso、
这个作者很懒,什么都没留下…
展开
-
KSO - sqlserver事务实现
---开启事务 BEGIN TRAN --错误捕捉机制,看好啦,这里也有的。并且可以嵌套。 BEGIN TRY --语句正确 insert into lives (Eat,Play,Numb) values ('猪肉','足球',1) --Numb为int类型,出错 insert into lives (Eat,Play,Numb) values ('猪肉','足球','abc') ;END TRYBEGIN CATCH select Error_number() as ErrorNu原创 2022-05-19 09:07:40 · 110 阅读 · 0 评论 -
KSO-SQL 无法解决 EQUAL TO 运算中 “CHINESE_PRC_CI_AS“ 和 “CHINESE_PRC_90_CI_AI“ 之间的排序规则冲突
SQL 无法解决 EQUAL TO 运算中 “CHINESE_PRC_CI_AS” 和 “CHINESE_PRC_90_CI_AI” 之间的排序规则冲突导致问题原因为创建时,表所使用的排序规则不一致解决办法:在对比条件后增加 collate Chinese_PRC_90_CI_AI 的转义即可如:where test1.Name=test2.Name collate Chinese_PRC_90_CI_AI...原创 2022-02-22 16:03:35 · 1206 阅读 · 0 评论 -
KSO-sql server获取当月天数
sqlserver查询当前月份的天数–思路当前月份+1,就是下个月,然后用下个月的1号减一,就得到当前月份的最后一天,这样就知道当前月份有多少天了–用到的函数 getdate()当前的日期 dateadd() ,sql查询日期天数的以下几种方式 CONVERT(VARCHAR(11),DATEADD(DAY,-1,DATEADD(MM,DATEDIFF(MM,0,DATEADD(MM,-1 , CAST(@MontyNEW AS DATETIME) ))+1,0)),120)当前时间的上一的最后一天原创 2022-01-19 09:20:29 · 2886 阅读 · 0 评论 -
KSO-sqlserver跨服务器查询方法
跨服务器查询场景:sql server跨服务器连接数据库,这个是可以实现的,但前提是你这边可以顺利连接对方的服务器,否则,纵使怎么配置也没有什么用处。在能够连接对方的服务器的基础上,我们可以通过下面的操作实现跨服务器连接。解决方案:exec sp_addlinkedserver 'KSO', ' ', '需要连接的库名', '远程服务器名或ip地址 'exec sp_addlinkedsrvlogin 'KSO', 'false',null, '用户名 ', '密码 '--查询示例select原创 2022-01-13 09:04:24 · 479 阅读 · 0 评论 -
KSO-sqlserver查询日期多行显示,日显示多行 ,月显示多行
场景在某一些场景我们需要左连接,左边是日期,比如一月多少天就多少行,又或者 一年12个月,显示12行,这样进行显示日显示多行SELECT convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) date from(select '2021-12-01' day) t1,(select number from MASTER..spt_values WHERE TYPE='P' AND number>=0 AND number<=(3原创 2022-01-11 10:21:26 · 442 阅读 · 0 评论 -
KSO-Sqlserver事务的实现
sqlserver事务的简介: 事务要有非常明确的开始和结束点,SQL Server 中的每一条数据操作语句,例如SELECT、INSERT、UPDATE和DELETE都是隐式事务的一部分。即使只有一条语句,系统也会把这条语句当做一个事务,要么执行所有的语句,要么什么都不执行。 事务开始之后,事务所含义:事务要有非常明确的开始和结束点,SQL Server 中的每一条数据操作语句,例如SELECT、INSERT、UPDATE和DELETE都是隐式事务的一部分。即使只有一条语句,系统也会把这条语句当做一原创 2022-01-11 10:13:33 · 270 阅读 · 0 评论 -
KSO-sqlserver汉字取首字母拼音
/创建取拼音首字母函数/ALTER function [dbo].[fn_ChineseToSpell](@strChinese varchar(500)=’’)returns varchar(500)asbegin /函数实现开始/declare @strLen int,@return varchar(500),@i intdeclare @n int,@c char(1),@chn nchar(1)select @strLen=len(@strChinese),@return=’’,@i=原创 2022-01-07 11:12:48 · 346 阅读 · 0 评论 -
KSO-sqlserver以逗号分隔,并进行转为多行
CREATE FUNCTION [dbo].[f_split](@ids VARCHAR(MAX))RETURNS @t_split TABLE(col VARCHAR(100))ASBEGIN–循环找到字符串中第一个’,‘的索引WHILE(CHARINDEX(’,’,@ids)<>0)BEGIN–将第一个’,‘之前的字符单元插入临时表中INSERT @t_split(col) VALUES(SUBSTRING(@ids,1,CHARINDEX(’,’,@ids)-1))–将第原创 2022-01-06 09:52:33 · 700 阅读 · 0 评论