کپی کردن یک قسمت از یک رشته
با سلام
فرض کنید رشته dbo.marksراداریم.
من می خوام در کوئری زیر فقط قسمت قبل از نقطه یعنیdbo در
TABLE_SCHEMAوقسمت بعدازنقطه یعنی marksدرقسمت
TABLE_NAME چه طوراین کارو انجام بدم.؟
select COLUMN_NAME fromINFORMATION_SCHEMA.COLUMNSwhere TABLE_SCHEMA='dbo'and TABLE_NAME='Marks'
نقل قول: کپی کردن یک قسمت از یک رشته
declare @x int;
set @x =CHARINDEX('.','dbo.Marks',0)
declare @Schema nvarchar(10)
set @Schema =LEFT('dbo.Marks',@x-1)
declare @Table nvarchar(10)
Set @Table =SUBSTRING('dbo.Marks',@x+1,(LEN('dbo.Marks')- @x))
نقل قول: کپی کردن یک قسمت از یک رشته
همچنین می تونید این روش هم امتحان کنید:
DECLARE @path varchar(25), @schema varchar(15), @table varchar(15)
SELECT @schema=PARSENAME(@path,2),
@table =PARSENAME(@path,1)
select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA=@schema
and TABLE_NAME=@table