我想在我的数据库执行SELECT语句,但它一直显示我此消息:如何在SELECT语句中添加一列,并在使用IR where子句
转换时,转换失败类型为int的varchar值'Edad'至数据 。
声明如下:
select nroSocio, categoriaId, convert(int,DATEDIFF(d, (FechaNacimiento), getdate())/365.25) as 'Age'
from Socios
Where ('Age'< 16 and categoriaId='711141DB-2D9C-E411-941D-00155DDA4202')
or ('Age' > 14 and categoriaId='6F1141DB-2D9C-E411-941D-00155DDA4202')
我一直在使用CONVERT(INT,'Age')
尝试,但该错误信息是一样的。另外,我尝试了'Age' > '14'
,这种方式查询被执行,但它不能正常工作,似乎'Age' > '14'
总是如此。
顺便说一句,我使用的是sql server 2012
。
为什么不利用这个计算的年龄吗? 'DATEDIFF(yy,FechaNacimiento,getdate())' – RezaRahmati 2015-02-06 17:55:47