首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【T-SQL基础】01.单表查询-几道sql查询题

概述: 本系列【T-SQL基础】主要是针对T-SQL基础的总结。 本篇主要总结了常见的对单表查询的SQL查询题目。...如果为 startdate 和 enddate 都只指定了时间值,并且 datepart 不是时间 datepart,则会返回 0。...如果只为某个日期数据类型的变量指定时间值,则所缺日期部分的值将设置为默认值:1900-01-01。如果只为某个时间或日期数据类型的变量指定日期值,则所缺时间部分的值将设置为默认值:00:00:00。...如果 startdate 和 enddate 中有一个只含时间部分,另一个只含日期部分,则所缺时间和日期部分将设置为各自的默认值。...如果 startdate 和 enddate 属于不同的日期数据类型,并且其中一个的时间部分或秒小数部分精度比另一个高,则另一个的所缺部分将设置为 0。

2K90

《SQLSERVER2012之T-SQL教程》T-SQL单表查询(二)「建议收藏」

'; 注意字符串”D%”前缀字母N的使用,他代表National(国家),用来表示字符串是一个Unicode数据类型数据类型(NCHAR或NVARCHAR),而不是一个常规字符数据类型(CHAR...由于lastname属性的数据类型为NVARCHAR(40),所以字母N作为字符串前缀。 2) 运算符 T-SQL支持的比较运算符包括:=、>、=、、!=、!>和!T-SQL中,涉及两个操作数的标量表达式的数据类型,是按两个数据类型优先级中的较高优先级确定的。如果两个操作数的数据类型相同,表达式结果是相同的数据类型。...例如:两个INT相除将生成一个整数,5/2=2,而不是2.5了。...T-SQL支持的某些函数,可以看作是CASE表达式的缩写形式,如ISNULL、COALESCE、IIF和CHOOSE。这4和函数中只有COALESCE是标准的。

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    T-SQL基础(一)之简单查询

    SQL方言:在SQL标准的基础上延伸的其它语言,如SQL Server中所使用的T-SQL。注意SQL方言未必完全支持所有的SQL标准。...SQL表达式运算 谓词 SQL中谓词是指运算结果为True,False或Unknown的逻辑表达式。T-SQL中的谓词有IN,BETWEEN,LIKE等。...两值逻辑 与T-SQL中的大多数谓词不同,EXISTS使用两值逻辑(True/False),而不是三值逻辑; 在EXISTS( SELECT * FROM T_A WHERE Id=12)中,EXISTS...如,WHERE子句中的多个表达式的计算并没有确定的顺序。 CASE...WHEN... CASE表达式是标量表达式,返回一个符合条件的值。注意,CASE是表达式,不是语句,与COUNT类似。...本文主要介绍了T-SQL查询的基础知识,对于较为复杂的查询,如:关联、表表达式、集合运算等将在后续文章中介绍。

    4.2K20

    那些年我们写过的T-SQL(上篇)

    才外,需要记住,在TSQL中使用三值谓词逻辑,逻辑表达式可以计算为TRUE、FALSE和UNKNOWN,而如果数据字段为空,需要使用IS [NOT] NULL判断。...HAVING字句:可以指定一个谓词来筛选组而不是单个的行,比如使用集合函数count(*)>1表示筛选组成员大于1的组。...此外,有一点曾经困扰了我很久,就是如果我在where字句中使用YEAR(orderdate),还在select中使用YEAR(orderdate),那样不是重复计算了?...,70为其他城市,那么这个查询的结果将是70,而不是我们想要的90,修改查询如下即可。...1111, 0000000000, 12221 LIKE 包括几个常见的通配符,% 表示任意大小字符串 ,_ 表示单个字符,以及其他常见正则表达式,如[ABC]、[A-Z]、[^1-9] 时间日期数据类型及其函数

    3.2K100

    2-3 T-SQL函数

    id 的数据类型为 int,注意当省略 id 时,则假定为当前用户。必须加上圆括号。...CONVERT(varchar(10),123)+'100' select Cast(‘123’ as int)+ 100 7、LEN(string_expression) 功能:返回给定字符串表达式的字符(而不是字节...FLOOR 和 CEILING 返回值的数据类型都与输入的数字表达式的数据类型相同 4、ROUND()(四舍五入函数) 功能:返回数字表达式并四舍五入为指定的长度或精度。...我们看到,如果使用rank函数来生成序号,其中有3条记录的序号是相同的,而第6条记录会根据当前的记录数生成序号,后面的记录依此类推,也就是说,在这个例子中,第6条记录的序号是6,而不是4。...如上面的例子中如果使用dense_rank函数,第6条记录的序号应该是4,而不是6。

    1.5K10

    全国二级C知识点总结6-结构体、链表、共用体

    本课重要知识点: 1.知识点:用typedef定义类型 l 功能:为已有数据类型取别名 l 类型定义形式: typedef 旧类型名 新类型名;(例如:typedef double D ; )...注意: (1) 定义的新名只是原名的一个别名,并不是建立一个新的数据类型; (2) 用新名和原名定义的对象具有相同的性质和效果。   ...num[20];char name[20]; char sex;float score[4];} stu1,stu2; 特点:定义类型的同时定义变量注意:此形式省略了结构体名,预示着后续程序中将不再定义该类型变量...;} s; }; struct workers w,*pw; pw=&w 能给w中year成员赋1980的语句是 ( D ) A)*pw.year=1980; B)w.year=1980;...C)pw->year=1980; D)w.s.year=1980; 【解析】引用w的内嵌结构体变量s的成员year,应逐级递进。

    94630

    SQL Server 2012学习笔记 (二) ----- SQL Server Transact-SQL

    常量的格式取决于它所表示的值的数据类型。   ...6、注释符、运算符与通配符   注释语句不是可执行语句,不参与程序的编译,通常是一些说明性的文字,对代码的功能或者代码的实现方式给出简要的解释和提示。...(12) WRITETEXT命令:允许对数据类型为 text、ntext 或 image 的列进行交互式更新。   (13)USE命令:用于在前工作区打开或关闭数据库。...隐式事务需要使用SET IMPLICIT_TRANSACTIONS ON语句将隐式事务模式设置为打开。...在打开了隐式事务的设置开关时,执行下一条语句时自动启动一个新事务,并且每关闭一个事务时,执行下一条语句又会启动一个新事务,直到关闭了隐式事务的设置开关。

    2.6K30

    学习SQL Server这一篇就够了

    它们的存储长度随精度(位数)变化而变化,最少为5字节,最多为17字节: 精度为1~9时,存储字节长度为5。 精度为10~19时,存储字节长度为9。 精度为20~28时,存储字节长度为13。...两者通常都使用科学计数法表示数据,即形为:尾数E阶数,如5.6432E20、-2.98E10、1.287659E-9等。...在SQL Server 2005中该类型是为了向下兼容而保留的数据类型,微软推荐用户使用varbinary(MAX)数据类型来替代image类型。...例如,微软公司的SQL Server支持的是T-SQL,而甲骨文公司的Oracle数据库所使用的SQL语言则是PL-SQL。...select GETDATE(); year():返回指定日期的年部分,返回值为整数。 select YEAR(GETDATE()); month():返回指定日期的月部分,返回值为整数。

    6.2K30

    什么情况下设置了索引但无法使用?

    在 MySQL 中,即使为某些列设置了索引,但在某些情况下,查询优化器可能仍然不会使用这些索引。以下是一些常见的导致索引无法被使用的情况:1....数据类型不匹配如果查询条件中的数据类型与索引列的数据类型不匹配,MySQL 可能无法使用索引。...使用 LIKE 通配符如果 LIKE 查询以通配符(如 % 或 _)开头,MySQL 无法使用索引。...选择性低的索引如果索引的选择性很低(即索引列的值重复很多),MySQL 可能会选择全表扫描而不是使用索引。...小表对于非常小的表,MySQL 可能会选择全表扫描而不是使用索引,因为全表扫描的开销可能更低。9. 统计信息不准确如果 MySQL 的统计信息不准确,查询优化器可能会做出错误的决策。

    10410

    浅谈 SQL Server 查询优化与事务处理

    使用 T-SQL 语句调用执行存储过程的语法: EXEC [UTE] 存储过程名 [参数值] EXEC为EXECUTE的简写 常用系统存储过程的用法: exec sp_databases...允许使用其他编程语言(如C#)创建外部存储过程,提供从 SQL Server 实例到外部程序的接口 以“xp”开头,以DLL形式单独存在 一个常用的扩展存储过程为 xp_cmdshell 他可完成DOS...语句 存储过程的返回值 用SSMS创建存储过程 一个完整的存储过程包括以下三部分: 1、输入和输出参数 2、在存储过程中执行的 T-SQL 语句 3、存储过程的返回值 使用 T-SQL 语句创建存储过程的语法为...: CREATE PROC[EDURE] 存储过程名 [ {@参数1 数据类型 } [= 默认值] [OUTPUT], ……, {@参数n 数据类型 } [=...触发器分为三类: INSERT触发器:当向表中插入数据时触发 UPDATE触发器:当更新表中某列、多列时触发 DELETE触发器:当删除表中记录时触发 inserted表和deleted表 由系统管理,存储在内存而不是数据库中

    2K50

    SQL 教程:如何编写更佳的查询

    如果有含有EXISTS的相关子查询,就应试试在该子查询的SELECT语句中使用常量,而不是选择一个实际列的值。这在只检查值是否存在时特别方便。 请记住,相关子查询是使用来自外部查询中的值的子查询。...如下是LIMIT子句和数据类型转换等方法出现的地方: TOP、LIMIT 和 ROWNUM 子句 可以将LIMIT或TOP子句添加到查询中,来设置结果集的最大行数。...>;上面的例子可能会被重写,变成这样: `SELECT driverslicensenr, name FROM Drivers WHERE year 1980;` 这样看起来更整洁,对吧?...>= 1960 AND year 1980; 最好用BETWEEN运算符重写: SELECT driverslicensenr, name FROM Drivers WHERE year BETWEEN...请考虑以下示例: SELECT driverslicensenr, name FROM Drivers WHERE year + 10 = 1980; 这看起来很恶心,对吧?

    1.7K40

    sql serve数据库基础入门(2)

    add 列名 数据类型 示例1: 给student表添加Stature(身高)列,类型为numeric(4,2),允许为空值,且身高需小于3.0米....代码: alter table student add postcade char(6) check (postcade like'[1-9][0-9][0-9][0-9][0-9][0-9]') (2...还记得,上面我们在添加stature列的时候设置了约束条件,此时若要删除该列就必须先删除约束条件,所以我们应该先找到约束条件再删除....答:不能成功执行,上面在添加’sdept’列时设置了不允许为空,所以不能将值NULL插入列’sdept列’中 (2)执行如下语句: insert into sc values('20110103...而sc表中的Cno是作为Course表的外键存在的,所以不能成功执行。 (2) 修改数据 示例1: 使用T-sQL语句,将Course表中的课程号为:002的学分改为4,总学时改为64。

    79230
    领券