曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTime为yyyy-mm-dd格式)语句进行查询将无法得到正确结果,比如我们要…
先看下边的SQL 语句 CREATE TABLE #DateTest( Id INT, SampleDate DATETIME ) INSERT INTO #DateTest VALUES(1,'1 jan 2010 10:30') INSERT INTO #DateTest VALUES(2,'2 jan 2010 23:59') INSERT INTO #DateTest VALUES(3,'3 jan 2010 12:34') INSERT INTO #DateTest VALUES(4,…
若字段定义的类型为datetime,插入为''(空),那么会默认值为1900-01-01 00:00:00.000 解决方法查询的时候过滤下cast(nullif('','') as datetime) select cast('' as datetime) , cast(nullif('','') as datetime) , isnull(cast(nullif('','') as datetime),getdate())…
SQL Server时间类型datetime 兼容ADO的COleDateTime. SQL datetime 日期和时间数据,可表示1753.1.1 至 9999.12.31的时间,精度为1/300秒, 约0.33秒, 其在数据库系统中的存储为两个4字节的整形.…
学习过上一篇SQL SERVER DateTime精度的文章后.再来做一道题. IF ('2011-07-31 00:00:00.000' BETWEEN '2011-07-01' and '2011-07-31 ')PRINT 'Yes'ELSEPRINT 'No' 结果是什么,如果你认为是Yes,那么你就上当了,哈哈.因为这不是两个日期类型在比较,这就是两个字符串在比较. 所以结果当然是NO. 如果要进行比日期比较,应该进行类型转换,如下比较: IF (CAST('2011-07-31 00…
SQL Server表分区的NULL值问题 SQL Server表分区只支持range分区这一种类型,但是本人觉得已经够用了 虽然MySQL支持四种分区类型:RANGE分区.LIST分区.HASH分区.KEY分区,还支持子分区,但是功能有些欠缺 共同点是MySQL跟SQL Server也有分区对齐的问题,都是水平切分,大家都允许分区列存在NULL值 这次我们测试SQL Server表分区的分区列的NULL值,究竟NULL值是被存放在哪个区间,以前一直没有注意 测试脚本 --1.创建文件组 ALT…
原文:SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理 SQL Server 字段类型 decimal(18,6)小数点前是几位? 不可否认,这是一个很低级的问题.... 为什么会问这么低级的问题? 由于这个问题,导致一个数据导入的SP执行失败....以至于困扰了我好几个小时.... 事情是这样的... 公司总部上了一套Oracle的ERP,我们系统中有些数据要从里面取,比如Supplier,Product等. Oracle会导出数据文件,我…
执行下面代码,将获取ms sql server对象类型以及其说明 IF OBJECT_ID('tempdb.dbo.#type') IS NOT NULL DROP TABLE #type CREATE TABLE #type ( ), ) ) INSERT INTO #type ([type],[desc]) VALUES (N'AF',N'聚合函数(CLR)'), (N'C',N'CHECK 约束'), (N'D',N'DEFAULT(约束或独立)'), (N'F',N'FOREIGN KE…
SQL Server锁类型(SQL)收藏 1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁. 2. NOLOCK:不添加共享锁和排它锁,当这个选项生效后,可能读到未提交读的数据或“脏数据”,这个选项仅仅应用于SELECT语句. 3. PAGLOCK:指定添加页锁(否则通常可能添加表锁). 4. READCOMMITTED用与运行在提交读隔离级别的事务相同的锁语义执行扫描.默认情况下,SQL Server 2000 在此隔离级别上操作.. 5.…
sql server 替换null:isnull(arg,value) 如:select isnull(price,0.0) from orders ,如果price为null的话,用0.0替换 与null比较: is not null,is null 如 select * from orders where price is null ,price等于null 如: select * from orders where price is not null ,price不等于null Oracl…