新手求教:关于CONVERT函数

十月鹰飞 2006-07-17 10:26:16
今晨在本论坛看到了一个贴子,突发兴趣用上面的表达式,对CONVERT函数进行了一翻试探。原贴地址不再贴出了。不过在试探中有两个结果让自己很疑或,特发出求教。
一个是:
一个是:convert(varchar,convert(datetime,'2006/07/17'),130),函数的返回值是:21 ????? ??????? 1427 12:00:00

另一个是:convert(varchar,convert(datetime,'2006/07/17'),131),函数的返回值是:
21/06/1427 12:00:00:000AM

本人是新手,尤其是第一种情况,很像是是SQLSERVER本身的漏洞(当然仅是本人猜测),不知各位是否遇到过这种情况,还有1427这个年份是如何计算出的?

肯请高手赐教。
...全文
364 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellowork 2006-07-17
  • 打赏
  • 举报
回复
这个我就不知道了,就象公历换算成农历一样,估计有特定的算法,看看其他朋友有没有办法.
十月鹰飞 2006-07-17
  • 打赏
  • 举报
回复
谢谢高手指点,那么请问1427这个年份是如何计算来的?
hellowork 2006-07-17
  • 打赏
  • 举报
回复
至于为什么会变成1427,应该是阿拉伯国家自己的年历,而不是公历,就象中国的农历一样.
playwarcraft 2006-07-17
  • 打赏
  • 举报
回复
130和131以 Kuwaiti 為標準
參看連機幫助
hellowork 2006-07-17
  • 打赏
  • 举报
回复
楼主的第一种情况不是SQLSERVER的BUG.
convert(varchar,convert(datetime,'2006/07/17'),130)返回的值中含阿拉伯文的表达式,请使用nvarchar类型.例如:
select convert(nvarchar(50),convert(datetime,'2006/07/17'),130)

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧