--小F--
码龄17年
关注
提问 私信
  • 博客:547,875
    社区:162,005
    问答:56,604
    766,484
    总访问量
  • 111
    原创
  • 1,391,491
    排名
  • 4,124
    粉丝
  • 0
    铁粉

个人简介:有志者,事竟成。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2008-06-12
博客简介:

fredrickhu的专栏

查看详细资料
个人成就
  • 获得26次点赞
  • 内容获得295次评论
  • 获得104次收藏
创作历程
  • 3篇
    2017年
  • 7篇
    2014年
  • 4篇
    2013年
  • 5篇
    2012年
  • 7篇
    2011年
  • 14篇
    2010年
  • 78篇
    2009年
成就勋章
TA的专栏
  • MSSQL数据库学习笔记
    6篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

sql中data类型更新报错

答:

update book
set BorrowDueDate = DATEADD(mm,1,BorrowDueDate)
where Book_id = 124 and BorrowerMemNo = 124;

回答问题 2017.04.06

sqlServer sql语句执行后, 默认是怎么排序的

答:

默认是按照物理排序的 就是你插入数据时候的顺序。

回答问题 2017.04.06

SQL 交叉表 列转行

答:

/*如何将一列中所有的值一行显示
数据源
a
b
c
d
e
结果
a,b,c,d,e
*/

create table tb(col varchar(20))
insert tb values ('a')
insert tb values ('b')
insert tb values ('c')
insert tb values ('d')
insert tb values ('e')
go

--方法一
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + t.col + ',' from (select col from tb) as t
set @sql='select result = ''' + left(@sql , len(@sql) - 1) + ''''
exec(@sql)
/*

result

a,b,c,d,e,
*/

--方法二
declare @output varchar(8000)
select @output = coalesce(@output + ',' , '') + col from tb
print @output
/*
a,b,c,d,e
*/

---方法三
declare @s varchar(1000)
select @s=isnull(@s+',' , '')+col from tb
select @s
/*
a,b,c,d,e
*/

drop table tb


给你例子吧 自己去写一写

回答问题 2017.03.23

SQL中,添加一个条件后,执行效率瞬间下降,怎么优化

答:

光看语句有什么用?先贴出执行计划。

回答问题 2017.03.22

SQL统计一个字符串有重复的子字符串个数

答:

先拆分 再GROUP BY

回答问题 2017.03.21

sqlsever2008r2 出奇怪的问题,顶部的bar变复数行了,求破

答:

看来是SSMS出问题了 可以单独下载一个SSMS重装。

回答问题 2017.03.21

SQL统计一个字符串有重复的子字符串个数

答:

--> --> (Roy)生成測試數據

if not object_id('Tab') is null
drop table Tab
Go
Create table Tab([Col1] int,[COl2] nvarchar(5))
Insert Tab
select 1,N'a,b,c' union all
select 2,N'd,e' union all
select 3,N'f'
Go

--SQL2000用辅助表:
if object_id('Tempdb..#Num') is not null
drop table #Num
go
select top 100 ID=Identity(int,1,1) into #Num from syscolumns a,syscolumns b
Select
a.Col1,COl2=substring(a.Col2,b.ID,charindex(',',a.Col2+',',b.ID)-b.ID)
from
Tab a,#Num b
where
charindex(',',','+a.Col2,b.ID)=b.ID --也可用 substring(','+a.COl2,b.ID,1)=','
--2000不使用辅助表
Select
a.Col1,COl2=substring(a.Col2,b.number,charindex(',',a.Col2+',',b.number)-b.number)
from
Tab a join master..spt_values b
ON B.type='p' AND B.number BETWEEN 1 AND LEN(A.col2)
where
substring(','+a.COl2,b.number,1)=','

SQL2005用Xml:

select
a.COl1,b.Col2
from
(select Col1,COl2=convert(xml,''+replace(COl2,',','')+'') from Tab)a
outer apply
(select Col2=C.v.value('.','nvarchar(100)') from a.COl2.nodes('/root/v')C(v))b

SQL05用CTE:

;with roy as
(select Col1,COl2=cast(left(Col2,charindex(',',Col2+',')-1) as nvarchar(100)),Split=cast(stuff(COl2+',',1,charindex(',',Col2+','),'') as nvarchar(100)) from Tab
union all
select Col1,COl2=cast(left(Split,charindex(',',Split)-1) as nvarchar(100)),Split= cast(stuff(Split,1,charindex(',',Split),'') as nvarchar(100)) from Roy where split>''
)
select COl1,COl2 from roy order by COl1 option (MAXRECURSION 0)

生成结果:
/*
Col1 COl2


1 a
1 b
1 c
2 d
2 e
3 f
*/

回答问题 2017.03.21

SQL SERVER获取索引脚本

关于如何获取索引脚本的语句很多,上次在项目中需要去查询并获取索引脚本,所以写了一个简单的查询语句来进行获取。WITH    idxcol          AS ( SELECT                i.object_id ,                i.index_id ,                OBJECT_NAME(i.object_id) AS objname
原创
发布博客 2017.03.15 ·
3116 阅读 ·
0 点赞 ·
5 评论 ·
1 收藏

Bulk insert如何导入部分字段的数据

IF OBJECT_ID('Employee') IS NOT NULLDROP TABLE EmployeeGOCREATE TABLE Employee(Id int,Name VARCHAR(100),Designation VARCHAR(100))BULKINSERT EmployeeFROM 'D:\\Test.txt' --location with filenameWITH(F
原创
发布博客 2017.03.15 ·
2833 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一些有用的DMV

---查看数据库中正在运行的SQL语句的执行情况(包括执行计划和等待类型等等)SELECT sp.ecid,    DB_NAME(sp.dbid) AS [Database], QP.query_plan, sp.nt_username,    p.session_id ,    p.request_id ,    p.start_time ,    p.status ,    p.comm
原创
发布博客 2017.03.15 ·
1092 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

求SQL语句分析的书籍推荐,例如下面这个例子

答:

排名前三的还可以这么写

select * from
(
select *,row_number()over(partition by deptno order by sal desc) as px from EMP
) as t

如果你基础还不错的话 可以看看SQL SERVER 2008技术内幕之T-SQL查询

或者SQL 2005技术内幕系列 一共有4本。

如果你想学习基础 可以看类似 SQL 2012宝典 这样的书

回答问题 2017.03.15

SQL数据库中 Insert添加数据 其中Values里面 的值为变量怎么办,急急急

答:

封装成存储过程,一切都好说了。

回答问题 2017.03.15

sql联合查询的相关问题

答:

select * from a inner join b on a.a.id = b.aid and not exists(select 1 from b as t where t.aid=b.aid and t.createtime>b.createtime)

回答问题 2017.03.15

sql更新语句问题结果怎样

答:

MSSQL里面是从左到右,依次更新,变量优先,

回答问题 2017.03.15

VS2012自带数据库2008版本

答:

有两点要说明:第一是自带的SQL 2008是简易版的,功能很不齐全。
第二是你要么没有配置window登录,要么就是连接字符串写错。

回答问题 2017.03.15

数据库问题:创建表及视图,物料清单关系数据库

答:

看起来像是递归的样子,不过最好你能够给点测试数据,这样更能说明问题。

回答问题 2017.03.15

有关数据库的,大神们救下急啊,在线等

答:

select row_number()over(order by getdate())
(
select uid from b
union all
select sid from b
) as t

回答问题 2017.03.15

贪吃蛇数据库连接问题

答:

这是想做什么?代码看起来是没什么问题的

得把报错信息贴上来

回答问题 2016.04.08

数据库写权限出错哪里可以开启啊

答:

首先要说明一下是什么数据库 然后再看看需要什么权限

无非就是GRANT权限上去。

回答问题 2016.04.08

求助:关于SQL后台插入数据

答:

请贴出你的语句看看。

回答问题 2015.01.30
加载更多