关于查询表是否存在的问题

bonever 2008-03-19 12:06:05
假设某用户表为'UserTable'
在论坛里看到有人建议这样实现查找该表是否存在
SELECT *
FROM sysobjects
WHERE (OBJECTPROPERTY(id, N'IsUserTable ') = 1) AND (id = OBJECT_ID(N'UserTable'))
对这条语句有几个疑问:
1、N的作用是什么?不加N好像结果是一样的
2、为什么一定要用表的id呢,如果这样写有什么不对的么?
SELECT *
FROM sysobjects
WHERE (Name='UserTable')

谢谢!
...全文
215 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bonever 2008-08-26
谢谢楼上诸位,耽误这么久才结贴
  • 打赏
  • 举报
回复
you_tube 2008-03-20
定义nvarchar类型,前面必须加N,或者转换
  • 打赏
  • 举报
回复
you_tube 2008-03-20
[Quote=引用 5 楼 bonever 的回复:]
N 应该是显式指定单引号中的字符为Unicode编码的.
--------------------------------------------
请问这样有什么好处么
[/Quote]

汉字存储就要用到了
  • 打赏
  • 举报
回复
bonever 2008-03-20
N 应该是显式指定单引号中的字符为Unicode编码的.
--------------------------------------------
请问这样有什么好处么
  • 打赏
  • 举报
回复
-晴天 2008-03-19
N 应该是显式指定单引号中的字符为Unicode编码的.
  • 打赏
  • 举报
回复
gahade 2008-03-19
都可以.
我常用的是if object_id('UserTabel') is not null
  • 打赏
  • 举报
回复
dawugui 2008-03-19
if object_id('dbname..UserTabel') is not null
drop table UserTabel
go
  • 打赏
  • 举报
回复
nextflying 2008-03-19
结果一个 , 路径不是唯一的 。
呵呵
  • 打赏
  • 举报
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-19 12:06
社区公告
暂无公告