分享
 
 
 

(续前)SQLServer常见问题应对

王朝mssql·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

(续前)SQLServer常见问题应对

版权所有©ashuixu转载请保持完整并注明出处

SQL语句部分

5、“令人头疼”的日期处理

问题:你是否也有过面对日期处理时的彷徨无措么?

解答:你是否了解以下事实(摘选自SQLServer2000联机帮助-datetime 数据类型:概述):

A.日期的存储。

datetime

从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确度为百分之三秒(等于 3.33 毫秒或 0.00333 秒)。如下表所示,把值调整到 .000、.003、或 .007 秒的增量。

smalldatetime

从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据精确到分钟。29.998 秒或更低的 smalldatetime 值向下舍入为最接近的分钟,29.999 秒或更高的 smalldatetime 值向上舍入为最接近的分钟。

Microsoft SQL Server 用两个 4 字节的整数内部存储 datetime 数据类型的值。第一个 4 字节存储 base date(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参考日期。不允许早于 1753 年 1 月 1 日的 datetime 值。另外一个 4 字节存储以午夜后毫秒数所代表的每天的时间。

smalldatetime 数据类型存储日期和每天的时间,但精确度低于 datetime。SQL Server 将 smalldatetime 的值存储为两个 2 字节的整数。第一个 2 字节存储 1900 年 1 月 1 日后的天数。另外一个 2 字节存储午夜后的分钟数。日期范围从1900 年 1 月 1 日到 2079 年 6 月 6 日,精确到分钟。

B.没有只存储时间或日期的独立的时间和日期数据类型。当设置 datetime 或 smalldatetime 值时,如果只指定时间,则日期默认为 1900 年 1 月 1 日。如果只指定日期,则时间默认为 12:00 AM(午夜)。

C.下面是一些使用日期和时间数据的准则:

· 若要对日期和时间进行精确搜索匹配,请使用等号(=)。Microsoft SQL Server 以 12:00:00:000 AM(默认值)的精确时间形式返回年、月、日都完全匹配的日期和时间值。

· 若要搜寻日期或时间的一部分,请使用 LIKE 运算符。SQL Server 首先把数据转换为 datetime 格式然后再转换为 varchar 格式。由于标准时间显示格式不包括秒和毫秒,不能使用 LIKE 和匹配模式对其搜索,除非使用 CONVERT 函数并把 style 参数设为 9 或 109。有关部分日期和时间搜索的更多信息,请参见 LIKE。

· SQL Server 在运行时计算 datetime 常量。用于某种语言期望的日期格式的日期字符串,如果由使用不同语言和日期格式设置的连接来执行查询,则可能无法识别。例如,下面的视图对于语言设置为美国英语的连接可以工作正常,但对于其它语言设置的连接就不能工作正常:

CREATE VIEW USA_Dates AS

SELECT *

FROM Northwind.dbo.Orders

WHERE OrderDate < 'May 1, 1997'

当在查询中使用 datetime 常量,而且该查询由使用不同语言设置的连接执行时,需确保日期对于所有语言设置均是可以接受的。对于国际数据库中永久对象中的 datetime 常量,比如表约束和查看 WHERE 子句,必须同样小心。有关所有语言设置都解释为相同的日期格式的更多信息,请参见编写国际 Transact-SQL 语句。

SQL Server 可以识别以下列格式括在单引号 (') 中的日期和时间:

· 字母日期格式(例如,'April 15, 1998')

· 数字日期格式(例如,'4/15/1998'、'April 15,1998')

· 未分隔的字符串格式(例如'19981207'、'December 12, 1998')

6、设计期无法确定的SQL语句

问题:在写存储过程时,有些SQL语句在设计期是不确定的,这样的SQL语句怎么写呢?

解答:用系统存储过程sp_executesql。

7、常用且重要函数、关键字和子句

A.CASE - 计算条件列表并返回多个可能结果表达式之一

B.ISNULL - 使用指定的替换值替换 NULL

C.HAVING 子句 - 指定组或聚合的搜索条件。HAVING 通常与 GROUP BY 子句一起使用。如果不使用 GROUP BY 子句,HAVING 的行为与 WHERE 子句一样。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有