2015-04-24 69 views
1

我想将访问查询转换为SQL Server 2008,但它似乎不喜欢我的MID语句(或我的InSTR)。我如何将它等同于SQL Server查询?SQL Server中的Mid函数

Mid$([a]![POName],(InStr([a]![POName],"-")-1))) 
+0

'SUBSTRING'和'CHARINDEX'是中秋节和InStr函数的功能等同。 –

回答

2

想必你想要的:

DECLARE @S VARCHAR(10) = 'AA-BB' 

SELECT SUBSTRING(@S, CHARINDEX(@S, '-') - 2, LEN(@S)) 

>> AA 
+0

伟大的东西的人。 :) –

1

删除$,swap,!与。并改变双引号单 -

Mid(a.POName,(InStr(a.POName,'-')-1))) 
+0

事实上,现在我想到了,我不确定INSTR会工作,你需要charindex –

+1

'Mid'和'InStr'函数只有SQL 2012+我认为。但OP要求SQL 2008. –