平时写SQL查询.存储过程都是凭着感觉来,没有探究过SQL的具体语法,一直都是按c#那一套往SQL上模仿,前几天项目中碰到一个问题引起了我对declare定义变量的作用域的兴趣. 大家都知道c#中的局部变量,在if中如果我们定义一个变量的话他的作用到if结束为止,if外是不识别这个变量的,else里都不能使用,简单的写一下. if (true) { Int32 i = 1; Conso
在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的. 假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据.现在我们要在姓名字段中查询以“张”字开头的记录,语句如下: Java代码 select * from table1 where name lik
Select * from [DBData].[dbo].[T_Student] where Name='lilei' 查询结果如下: 结论:由查询结果可知 SQL Server 默认是不区分大小写的. Select * from [DBData].[dbo].[T_Student] where Name like '%(%' COLLATE chinese_prc_CS_AI_WS 查询结果如下: 排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符
order by 是用在where条件之后,用来对查询结果进行排序 order by 字段名 asc/desc asc 表示升序(默认为asc,可以省略) desc表示降序 order by 无法用于子查询,否则会报错:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图.内联函数.派生表.子查询和公用表表达式中无效. 原文链接:https://blog.csdn.net/m0_37894254/article/details/80675980
在SQL语句中,output可以作为返回值来使用, 1.我们先看这个存储过程 代码: 1 set ANSI_NULLS ON 2 set QUOTED_IDENTIFIER ON 3 go 4 5 --added by hendyzhu 验证身份证的唯一性,排除同一个人有多个居民健康档案 6 --2010-5-28 7 create procedure [dbo].[DistinctSame] 8 ( 9 @ID varchar(20), 10 @count int outpu
存储过程往拼接的sql语句中传递日期值 declare @start datetime declare @end datetime set @start='2014-3-1' set @end='2014-3-31' ) set @sql=' select * from search_record where (Name!='' or Phone!='') and (thedate between @st and @en )' exec sp_executesql @sql,N'@st date