
Sql server
哈罗北鼻1223
这个作者很懒,什么都没留下…
展开
-
string or binary data would be truncated.数据库报错
报错原因:创建的表字段太短,插入的数据太长导致的错误。解决方案:修改数据字段的大小。比如nvarchar(10)改成nvarchar(50).alter table T alter column C nvarchar(50)...转载 2018-07-09 09:46:01 · 5764 阅读 · 0 评论 -
SQL Server:字段值为“a,b,c”的情况下,一行转多行
if not object_id('Tab') is null drop table TabGoCreate table Tab([Col1] int,[COl2] nvarchar(5))Insert Tabselect 1,N'a,b,c' union allselect 2,N'd,e' union allselect 3,N'a,f'Goselect * fro...转载 2019-09-11 10:45:18 · 521 阅读 · 0 评论 -
SQL:同一个字段多个值,实现动态行转列
--用动态sql实现行转列。因用到了row_number,只适用于sql server 2005及以上版本--测试数据with [user](ID,name,roleid) as(select 1,'bobo','r1' union allselect 2,'coco','r1' union allselect 3,'dodo','r1' union allselect 4,'e...转载 2019-09-06 10:50:33 · 1529 阅读 · 0 评论 -
Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "Chinese_Taiwan_Stroke_CI_AS"
Executed as user: NT AUTHORITY\SYSTEM. Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "Chinese_Taiwan_Stroke_CI_AS" in the equal to operation. [SQLSTATE 42000] (Error 468). The...转载 2019-08-09 10:49:04 · 3943 阅读 · 0 评论 -
记录:执行参数为表变量的sp的写法,报错:操作数类型冲突:table 与 UserDefineTable不兼容。
Declare @tb table(a int)insert into @tbselect '1'exec sp @tb20190809 一次遇到的报错:在SQLSERVER2008下提示:操作数类型冲突:table 与 UserDefineTable不兼容。SQLSERVER 添加用户自定义表类型一、自定义表类型的创建CREATE type dbo.Us...转载 2019-05-31 19:53:58 · 771 阅读 · 0 评论 -
MSSQL 查询结果一列变三列的写法
select max(case rownumber % 3 when 2 then wsshowname end)as ws1, max(case rownumber % 3 when 1 then wsshowname end) as ws2, max(case rownumber % 3 when 0 then wsshowname end) as ws3f...转载 2019-04-26 11:42:49 · 814 阅读 · 0 评论 -
SQL server 中Merge Into的用法
从备份表中更新字段到正式表中,使用 UPDATE 批量更新大量的数据,会出现效率低下,有时候甚至卡死的情况,后面通过使用 MERGE INTO 代替 UPDATE 执行批量更新,会提升执行效率。MERGE INTO语法如下:MERGE INTO table_name alias1 USING (table|view|sub_query) alias2ON (join conditio...转载 2019-02-21 10:34:02 · 20130 阅读 · 0 评论 -
(转)ms sql 查询一个表中某一列的相同数据
sql语句查询一个表中某一列的相同数据1、找出这列中有相同内容的列的数据。代码如下:select 列名 from 表名 group by 列名 having count(列名) > 12、把这些有相同内容的记录,查出来。代码如下:select 列名 from 表名 where 列名 in (select 列名 from 表名 group by 列名 having coun...转载 2018-08-08 11:23:43 · 392 阅读 · 0 评论 -
(转)本地临时表(#tbl)和表变量(@tbl)的区别
本地临时表(#tbl)CREATE TABLE #News ( News_id int NOT NULL, NewsTitle varchar(100), NewsContent varchar(2000), NewsDateTime datetime ) INSERT INTO #News (News_id, NewsTitle, NewsContent, Ne...转载 2018-08-03 14:26:31 · 883 阅读 · 0 评论 -
(转)跨服务器查询数据库
1、假设本地服务器192.168.0.1,远端服务器192.168.0.2。2、在192.168.0.2服务器上建立用户:User,密码:0003、在192.168.0.1服务器上执行如下语句:exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','192.168.0.2'exec sp_addlinkedsrvlogin 'srv_lnk','...转载 2018-07-27 15:50:14 · 885 阅读 · 0 评论 -
sql server:SET XACT_ABORT ON
SET XACT_ABORT ON指當Transact-SQL語句產生運行錯誤時,SQL Server 是否自動回滾當前事務。語法SET XACT_ABORT{ON|OFF}当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。为 OFF 时,只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。编译错误(...转载 2018-07-06 15:29:24 · 2217 阅读 · 0 评论 -
sql server:SET NOCOUNT ON
每次我们在使用查询分析器调试SQL语句的时候,通常会看到一些信息,提醒我们当前有多少个行受到了影响,这是些什么信息?在我们调用的时候这些信息有用吗?是否可以关闭呢? 答案是这些信息在我们的客户端的应用程序中是没有用的,这些信息是存储过程中的每个语句的DONE_IN_PROC 信息。 我们可以利用SET NOCOUNT 来控制这些信息,以达到提高程序性能的目的。 MSDN中帮助如下: SET NOC...转载 2018-07-06 14:36:58 · 374 阅读 · 0 评论 -
SQL server 分页查询
SQL server 分页查询转载 2018-07-05 16:59:04 · 201 阅读 · 0 评论 -
SQL Server:查询结果列数固定10列,其余换行显示
--测试数据if object_id('test') is not nulldrop table testcreate table test(ordeno char(10),codeno varchar(10),pnno char(20),dsc char(20),qty int,remark varchar(20),field1 varchar(20))insert into test...转载 2019-09-11 11:51:40 · 850 阅读 · 0 评论