计算年龄问题 各位大哥,帮帮忙吧!我数据库存的是以VARCHAR 19880805 的格式存的 现在我想计算该人的年龄该怎么做?提示下怎么将这个VARCHAR类型的转换为日期类型也行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 cast('19880805' as datetime) select datediff(yy,cast('19880805' as datetime),getdate())/* ----------- 21(所影响的行数为 1 行)*/ select 年龄=datediff(yy,'19880805', getdate())/**年龄 ----------- 21(所影响的行数为 1 行)**/ SELECT DATEDIFF(YY,STUFF(STUFF('19880805',5,0,'-'),8,0,'-'),GETDATE()) AS 年齡/*年齡 ----------- 21(影響 1 個資料列)*/ 或者不用转换:select datediff(yy,'19880805',getdate())/* ----------- 21(所影响的行数为 1 行)*/ --'19880805'是合法日期格式,让系统自己做隐式转换即可。select datediff(yy,'19880805',getdate())/*21*/ select datediff( yy,cast('19880805' as datetime),GETDATE()) 先结帖 要问的问题倒是有了结果 我忘说了 自己用的数据库是SQLSERVER 没有GETDATE()方法 所以时间差那个函数也就用不着我用了CAST 可是还是有个问题(now()-CAST('19880805' as datetime))/(365*24*60*60*1000) 输出的却是637.06326432528我这样计算有问题吗?我的理解是两个日期相减得到得差值应该是个长整形的毫秒数 这个毫秒数/每年的毫秒数=年数 varchar 值 'True' 转换为数据类型为 bit 的列 sql case when sqlserver2000如何删除所有的用户表 一个存储过程的问题:一个表的Column它的类型是什么? mssql中转换数字型为字符串型时后面总是多带一个空格,如何去除? 如何判断月份是双月还是单月 请教一个问题? 参考了其他SQL2005的解密方法,但拿到2008上貌似用不了。各位仁兄能不能帮忙? 分组统计问题 让我很郁闷的问题! 数据库导入问题 sql 2008 如何用管理界面编辑数据?
/*
-----------
21(所影响的行数为 1 行)
*/
年龄
-----------
21(所影响的行数为 1 行)
**/
/*年齡
-----------
21(影響 1 個資料列)
*/
/*
-----------
21(所影响的行数为 1 行)
*/
select datediff(yy,'19880805',getdate())
/*
21
*/
我用了CAST 可是还是有个问题(now()-CAST('19880805' as datetime))/(365*24*60*60*1000)
输出的却是637.06326432528我这样计算有问题吗?我的理解是两个日期相减得到得差值应该是个长整形的毫秒数 这个毫秒数/每年的毫秒数=年数