数据库中有个数据是0.5g 而用这SQL语句查 select CHID,CassiaTwig=CAST(SUBSTRING(ltrim(CassiaTwig),1,PATINDEX('%[^0-9]%',ltrim(CassiaTwig))-1) as float) from Case_history where CassiaTwig !='' 结果是0 求大神指导怎么修改语句能让结果为0.5
最新回答
他说那很美い
2021-09-09 16:13:21
正则表达式写错了啊,PATINDEX不支持正则表达式的,应该说sql server 不支持正则表达式, 所以最后你截取的字符只是 '' ,然后将'' 转换成float, select cast('' as float) 结果就自然是0了 我不清楚你的数据有什么特点,只是去掉后面的g么? 用left函数就好了 left(CassiaTwig,len(CassiaTwig)-1)