TSQL情况下的THEN语法-使用替换
这实际上适用于前面的一个问题 我正在编写一个非常长的SELECT语句,使用OMG PONIES语句删除非空的不可见字符TSQL情况下的THEN语法-使用替换,sql,sql-server,tsql,string,Sql,Sql Server,Tsql,String,这实际上适用于前面的一个问题 我正在编写一个非常长的SELECT语句,使用OMG PONIES语句删除非空的不可见字符 (WHEN PropStreetAddr is NOT NULL THEN (SELECT LTRIM(RTRIM((REPLACE(PropStreetAddr, SUBSTRING(PropStreetAddr,
(WHEN PropStreetAddr is NOT NULL THEN
(SELECT LTRIM(RTRIM((REPLACE(PropStreetAddr,
SUBSTRING(PropStreetAddr,
PATINDEX('%[^a-zA-Z0-9 '''''']%',
PropStreetAddr),
1), '') AS PropStreetAddr)
查询:
SELECT
CASE WHEN LOAN_NUMBER IS NOT NULL THEN
REPLACE( LOAN_NUMBER,SUBSTRING (LOAN_NUMBER,PATINDEX( ' %[^a-zA-Z0-9 '''''']% ' , ' ' ) as LOAN_NUMBER.
,CASE WHEN MERS_ID IS NOT NULL THEN
REPLACE( MERS_ID,SUBSTRING (MERS_ID,PATINDEX( ' %[^a-zA-Z0-9 '''''']% ' , ' ' ) as MERS_ID
...127 more lines of similar statements
检查语法后,我立即收到指向SELECT后第一个Case语句的错误:
消息156,第15级,状态1,第143行
关键字“as”附近的语法不正确
有人能帮我理解我遗漏了什么吗?你错过了案件陈述的结尾。您看起来也可以在那里使用ELSE,尽管这些不是强制性的-如果不使用,并且没有匹配项,那么您将得到一个空值
CASE
WHEN something then value1
WHEN somethingelse then value2
ELSE value3
END
你错过了一些正确的帕伦 +1…和替换(子字符串)(PATINDEX)(目前没有逻辑意义…天哪,我看这段代码看得太久了!我感谢你的评论和提醒..下面是我需要解决的问题..非常抱歉,我错过了这一点..选择LOAN_NUMBER不为NULL的情况,然后替换(LOAN_NUMBER,子字符串(贷款编号,PATINDEX('%[^a-zA-Z0-9']%,贷款编号),1),''以贷款编号结尾,依此类推