时间:2021-07-01 10:21:17 帮助过:24人阅读
1 if((‘123‘ not like ‘%[^0-9]%‘)) -- 数字 2 begin 3 select ‘数字‘ 4 end 5 else 6 begin 7 select ‘非数字‘ 8 end 9 10 if((‘a123‘ not like ‘%[^0-9]%‘)) -- 非数字 11 begin 12 select ‘数字‘ 13 end 14 else 15 begin 16 select ‘非数字‘ 17 end 18 19 if((‘123.1‘ not like ‘%[^0-9]%‘)) -- 非数字 20 begin 21 select ‘数字‘ 22 end 23 else 24 begin 25 select ‘非数字‘ 26 end
当然,我们也可以根据这种方式,定义一个自定义函数,这个后面再说。
sql 查询出某字段出现最多次数的值:
1 -- 查询出表 Student 中名字(S_Name)出现次数最多的名字 2 select top 1 S_Name,COUNT(1) from Student group by S_Name order by COUNT(1) desc
sql server [case when then else end]:
1 select S_StuNo 学号,S_Name 姓名, 2 case S_Sex when ‘男‘ then ‘男生‘ when ‘女‘ then ‘女生‘ else ‘保密‘ end 性别, -- 方式一 3 case when S_Sex=‘男‘ then ‘男生‘ when S_Sex=‘女‘ then ‘女生‘ else ‘保密‘ end 性别, -- 方式二 4 S_Height 身高 5 from Student
sql OBJECT_ID、OBJECT_NAME、OBJECT_DEFINITION:
1 if (OBJECT_ID(‘Student‘) is not null) --判断是否存在 Student 这个表 2 begin 3 select ‘表已存在‘ 4 end 5 else 6 begin 7 select ‘表不存在,请创建‘ 8 end 9 10 --指定一个临时表名,则必须在临时表名前面加上数据库名,例如: 11 IF OBJECT_ID(‘tempdb..#table1‘) is not null --判断临时表 table1 是否存在, 12 select ‘表已存在‘ 13 else 14 select ‘表不存在,请创建‘ 15 16 select OBJECT_ID(‘Student‘) -- 返回 245575913 根据对象名称返回对象ID 17 18 select OBJECT_NAME(‘245575913‘) -- 返回 Student 根据对象ID返回对象名称 19 20 select OBJECT_DEFINITION(‘245575913‘) --返回对象的源文本 21 22 select OBJECT_DEFINITION(OBJECT_ID(‘Student‘))
示例,返回系统存储过程 sys.sp_columns
的定义:
1 SELECT OBJECT_DEFINITION (OBJECT_ID(N‘sys.sp_columns‘));
OBJECT_ID语法: OBJECT_ID ( ‘[ database_name . [ schema_name ] . | schema_name . ] object_name‘ [ ,‘object_type‘ ] )
参数:
‘ object_name ‘ (必填)
是要使用的对象。 object_name是varchar或nvarchar。 如果object_name是varchar,它将隐式转换为nvarchar。 可以选择是否指定数据库和架构名称。
‘ object_type ‘ (可选)
架构范围的对象类型。 object_type是varchar或nvarchar。 如果object_type是varchar,它将隐式转换为nvarchar。
返回类型:
return int
PS:对于空间索引,OBJECT_ID 返回 NULL。出现错误时,返回 NULL。
OBJECT_NAME语法: OBJECT_NAME ( object_id [, database_id ] )
参数:
‘ object_id ‘ (必填)
要使用的对象的 ID。 object_id是int ,假定在指定的数据库中,或在当前数据库上下文中为架构范围的对象。
‘ database_id ‘(可选)
要在其中查找对象的数据库的 ID。 database_id是int。
返回类型:
return nvarchar(max)
PS:出现错误时或调用方没有查看对象的权限时,将返回 NULL。 如果目标数据库的 AUTO_CLOSE 选项设置为 ON,则此函数将打开此数据库。
用户只能查看符合如下条件的安全对象的元数据:该安全对象为该用户所有,或已授予该用户对该安全对象的权限。
也就是说,如果用户对该对象没有任何权限,则那些会生成元数据的内置函数(如 OBJECT_NAME)可能返回 NULL。
OBJECT_DEFINITION语法:OBJECT_DEFINITION ( object_id )
参数:
‘ object_id ‘ (必填)
要使用的对象的 ID。 object_id是int,和假定以表示当前的数据库上下文中的对象。
返回类型:
return nvarchar(max)
PS:出现错误时或调用方没有查看对象的权限时,将返回 NULL。
参考:
https://msdn.microsoft.com/zh-cn/library/ms176090.aspx
SQL Server去重和判断是否为数字——OBJECT_ID的使用
标签:字符 uniq 表名 指定 对象类型 group by 类型 查看 调用