ورود

View Full Version : کپی کردن یک قسمت از یک رشته



#Faranak
سه شنبه 31 فروردین 1389, 18:21 عصر
با سلام
فرض کنید رشته dbo.marksراداریم.
من می خوام در کوئری زیر فقط قسمت قبل از نقطه یعنیdbo در
TABLE_SCHEMAوقسمت بعدازنقطه یعنی marksدرقسمت
TABLE_NAME چه طوراین کارو انجام بدم.؟
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNSwhere TABLE_SCHEMA='dbo' and TABLE_NAME='Marks'

s.khoshfekran
سه شنبه 31 فروردین 1389, 19:19 عصر
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))

محمد سلیم آبادی
جمعه 03 اردیبهشت 1389, 17:17 عصر
همچنین می تونید این روش هم امتحان کنید:



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