首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么从select语句中截取表名

2012-02-06 
如何从select语句中截取表名select*fromtableNamewhereid1 像这样一句select语句,如何才能截取到 tab

如何从select语句中截取表名
select   *   from                       tableName           where   id   =   "1 ";
像这样一句select语句,如何才能截取到 "tableName "呢?

[解决办法]
declare @aa nvarchar(4000)
set @aa= 'select * from tableName where id = "1 "; '
select replace(substring(@aa,CHARINDEX( ' from ',@aa)+6,CHARINDEX( ' where ',@aa)-CHARINDEX( ' from ',@aa)-6), ' ', ' ')


--result
tableName

[解决办法]
declare @aa nvarchar(4000)---借用
set @aa= 'select * from tableName where id = "1 "; '
select @aa=ltrim(stuff(@aa,1,charindex( 'from ',@aa)+3, ' '))
select left(@aa,charindex( ' ',@aa)-1)
合并成一句(只考虑from,没有where也行)
select left(ltrim(stuff(@aa,1,charindex( 'from ',@aa)+3, ' ')),charindex( ' ',ltrim(stuff(@aa,1,charindex( 'from ',@aa)+3, ' ')))-1)

热点排行