4es*_*est 2 sql sql-server concat concatenation sql-server-2008
当我想CONCATENATE
在SQL Server中使用时:
CONCAT(year(dateadd(year, -1, left(t1.[FQuater], 4))), right(t1.[FFQuater], 2))
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
列FQuater
是Varchar
数据类型.
只需使用+
旧版SQL Server上提供的版本,而不是concat
只能从SQL Server 2012获得:
year(dateadd(year,-1,left(t1.[FQuater],4))) +''+ right(t1.[FFQuater],2)
Run Code Online (Sandbox Code Playgroud)
避免空值(如果可能)
isnull(year(dateadd(year,-1,left(t1.[FQuater],4))),'') +''+ isnull(right(t1.[FFQuater],2),'')
Run Code Online (Sandbox Code Playgroud)
编辑:正如@ ravish.hacker所提到的,你可以这样做:
isnull(year(dateadd(year,-1,left(t1.[FQuater],4))),'') +''+ isnull(right(t1.[FFQuater],2),'') + ' '
Run Code Online (Sandbox Code Playgroud)