sqlserver 的一些常用的查询语句:(*) 感谢赵 !
1. 查看今日发帖:
select ID
from Topic where AddTime>convert(varchar(22), getdate(), 112)
(*) // 参考: CONVERT (data_type[(length)], expression [, style])
其中 112 是表示样式的,参考sqlserver的 CONVERT:
datetime 或smalldatetime 在转换的时候 112 的格式是 yymmdd.
2. sqlserver 中如何查询表结构:
>>select id
from [192.168.0.60].OLD.dbo.sysobjects
where type='u' and name='brand' /// brand 是表名。
>>select *
from [192.168.0.60].OLD.dbo.syscolumns
where id = '2099048' /// 其中 2099048 是上一行数据。
>>select * from [192.168.0.60].OLD.dbo.systypes /// type
3. sqlserver 字段类型由 date 改成 timestamp 出错:
如果该列是由 datetime 变更为timestamp 的,并且有默认值 getdate() 的会造成这个结果,取消掉默认值getdate() 即可。
4. 启用全文索引:
use DBName // DBName 是数据库名称
exec sp_fulltext_database 'enable'
5. select ID,Email from AssociatorInfo order by ID desc
// ID 一样的情况下, Email 是 NULL 的总是排在前面。
6. 不能混合使用 SQL 97 和 SQL93 两种写法:
from Associator a , Product p
left join ProductInfo pi on pi.ID=p.ID
应该:
from Associator a
inner join Product p on.....
left join ProductInfo pi on pi.ID=p.ID
7. select q.ID from containstable(Question, *, @realkey, 300) t -- 从该表中的所有字段检索,如果只从Title 中搜索:
就将 * 替换成 Title
left join Question q on q.ID = t.[KEY]
order by q.ID desc
8. sqlserver : datalength(Content) 统计Content 的长度,类似len,专用于 text 类型的.
9.将 sqlserver 中 test1 数据库中的 DictArea 表中数据导入到 test 数据库的 DictArea 表。
insert into test1.dbo.DictArea select * from test.dbo.DictArea