0
推荐
1445
阅读

TSQL中如何结合使用 LIKE 和 IN?

在TSQL中IN语句可以用来设置多个查找条件,而LIKE则是用来做模糊查询的,但如果想同时查找多个模糊条件就有点麻烦了。其实我也没什么好的办法,也只是通过union all语句先把所有的模糊条件存到一个临时表的字段里,然后通过join目标表和临时表来取得结果。比如说我有张表存着一些身份证号码,我要从中找出所有什么开头为...

发表了文章 • 2017-03-05 20:03 • 0 条评论

1
推荐
1603
阅读

如何确定一个索引是何时创建的?

只要在下面这段代码的最后一行指定你要查找的索引名,然后运行就可以了select i.name,i.object_id,o.create_date,o.name from sys.indexes i join sys.objects o on i.object_id=o.object_id where i.name='YourIndexName' 结果集的第一列是 索引名    第二列是 索引在数据库中的object id    第...

发表了文章 • 2017-02-03 00:28 • 1 条评论

1
推荐
2867
阅读

说一下ISO-8601周(星期四原则周)

先解释一下什么叫ISO-8601周,或者星期四原则周,这里我先简称为iso周。iso周简单来说就是把跨年或者跨月的周当成一个周来看,而根据其星期四所属的位置来决定这一周是属于上一个月还是下一个月。比如下图,2017年1月1日是星期日,它属于2016年12月26日-2017年1月1日所组成的一个星期。由于这一周的星期四(2016.12.29)...

发表了文章 • 2017-01-09 15:58 • 0 条评论

0
推荐
1812
阅读

如何用TSQL将“起始日期为周日”的美式周换算成“以周一为起始”的标准周

众所周知,一年大概由五十几周组成,但是不同的国家和地区出于不同的目的会采用不同的计算方法。比如,中国人认为每周的第一天是星期一,而星期日就是最后一天。在一些穆斯林地区,他们则认为周六是每周的第一天。而在美国和欧洲一些国家则认为星期日是一周的开始,如下图所示的US日历,SU在最左侧代表第一天。那么这样...

发表了文章 • 2017-01-09 15:41 • 0 条评论

0
推荐
1841
阅读

在SSMS里设置快捷键

当同时用到的表比较多时,我经常会忘记某张表里都有哪些字段,这时候总要不厌其烦的写个查询来看看里面的数据,比如下面这样:select top 100 * from [dbo].[tablename]很简单,但是总这么写还是挺烦人的,于是干脆设置了些快捷键来简化这个操作。设置的方法是这样的:1. 打开Tools菜单, 并选择Options2. 在左侧选项卡里...

发表了文章 • 2017-01-06 21:24 • 0 条评论

1
推荐
1543
阅读

如何用TSQL取到给定日期所属的年、周和星期几

假设有一批日期,我如何能通过使用TSQL函数算出他们所属的是哪一年的第几周,又是星期几呢?比如比如 2017-01-05 02:40:04.000对应的年和周应该是 2017-wk2它还是THURSDAY 星期四代码如下: declare @thedate datetime set @thedate = '2017-01-05 02:40:04.000' select LEFT(UPPER(datename(dw, @thedate)...

发表了文章 • 2017-01-06 00:54 • 0 条评论

0
推荐
1306
阅读

TSQL里两种取月初的方法

有时候会遇到需要取某月第一天的情况, TSQL有N中方式可以实现, 今天推荐两种:1. 用datefromparts这个函数语句看起来比较简洁. 另外最右边的数字参数还可以用来指定你要这个月的第几天, 比如第5天SELECT DATEFROMPARTS(YEAR(GetDate()),MONTH(GetDate()),1) 2. 用Dateadd函数SELECT DATEADD(month, DATEDIFF(month, 0, Ge...

发表了文章 • 2016-12-09 16:47 • 0 条评论

0
推荐
1677
阅读

T-SQL中的IIF和CASE WHEN语句该用谁?

写SQL程序的时候经常会遇到一种情况, 比如有一个变量叫@GENDER, 是个bit类型, 如果它的值是0, 就输出FEMALE, 若是1, 则输出MALE. 要做到这个在SQL中有两个函数最常用, 就是IIF和CASE WHEN. 而这个例子写起来是这样的IIFdeclare @gender bit set @gender = checksum(newid())%2 --使用newid和checksum配合生成随机数...

发表了文章 • 2016-12-04 18:44 • 0 条评论

0
推荐
2063
阅读

如何使用sys.fn_dblog回复被误删除的数据库对象? 例如表视图

操作数据库时难免会误删除一些表啊, 视图啊, 存储过程之类的东西. 那么, 怎么把它们找回来就很关键了.我个人不是DBA, 所以对于数据库的维护知识知道的不多, 所以我就说我自己常用的一种找回方式, 那就是使用sys.fn_dblog. While playing with database, it will inevitably encounter all sorts of mistaken deleti...

发表了文章 • 2016-12-03 00:55 • 0 条评论

0
推荐
6271
阅读

LEFT JOIN和LEFT OUTER JOIN的区别? (兼各种join的解释)

这两天有个特别勤奋好学的用户问了我一些关于SQL的问题, 说他自己打算学学数据库技术, 这样他以后在对业务数据进行梳理时会更方便一些. 我很欣赏这种有上进心以及不想把所有希望都寄托在IT人员身上的好同学, 毕竟艺多不压身嘛!今天他问了个问题, left join 和 left outer join是什么关系, 有区别吗?估计稍有SQL常识...

发表了文章 • 2016-12-02 18:58 • 0 条评论

4
推荐
1325
阅读

用TSQL查找一个数据库的或者一个表(视图)的字段的collation设置

在SQL SERVER中每个数据库都有自己的字符集设置(collation, 也叫排序设置), 那么在试图join或者union来自使用不同collation的数据库表时就会收到错误提示, 比如这样:In SQL Server, each database may use different Collation setting than others, an error message as follows could pop up when trying to join or u...

发表了文章 • 2016-11-28 22:14 • 0 条评论