一元后给出了SQL的一个很好的片段
declare @search nvarchar(max) = ##searchfor:string?carefully %listen##
select id [Post Link]
, score
, creationdate
, lastactivitydate
, closeddate
, owneruserid as [User Link]
from posts
where body like concat('%', @search, '%') collate SQL_Latin1_General_CP1_CI_AI
or title like concat('%', @search, '%') collate SQL_Latin1_General_CP1_CI_AI
Run Code Online (Sandbox Code Playgroud)
双数字符号##在那里是什么意思?
我猜这是某种字符串语法,但我什至无法猜测它的关键字。谷歌搜索“SQL中的数字符号##”返回“前缀临时表”,事实并非如此。
以下查询可用于显示自定义表的定义。
SELECT ORDINAL_POSITION, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
, IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'PostHistory'
Run Code Online (Sandbox Code Playgroud)
不适用于 sys 表
SELECT ORDINAL_POSITION, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
, IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'sys.time_zone_info'
Run Code Online (Sandbox Code Playgroud)
我猜这些信息在另一个数据库的另一个表中,它们是什么?
我也尝试过sp_help 'sys.time_zone_info'
,并且得到了
对对象“sp_help”、数据库“mssqlsystemresource”、架构“sys”的 EXECUTE 权限被拒绝。