ms sql 日期格式的问题 select convert(varchar(10),getdate(),120) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你想返回什么样的值呀,可以查一下convert的帮助,如果只是多了一个1,可以将字符串长度改小 select convert(varchar(10),getdate(),120)/*2006-02-20(1 row(s) affected)*/可以查询帮助convert---〉第一个就是下面的介绍Without century (yy) With century (yyyy) Standard Input/Output** - 0 or 100 (*) Default mon dd yyyy hh:miAM (or PM) 1 101 USA mm/dd/yy 2 102 ANSI yy.mm.dd 3 103 British/French dd/mm/yy 4 104 German dd.mm.yy 5 105 Italian dd-mm-yy 6 106 - dd mon yy 7 107 - Mon dd, yy 8 108 - hh:mm:ss - 9 or 109 (*) Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM) 10 110 USA mm-dd-yy 11 111 JAPAN yy/mm/dd 12 112 ISO yymmdd - 13 or 113 (*) Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h) 14 114 - hh:mi:ss:mmm(24h) - 20 or 120 (*) ODBC canonical yyyy-mm-dd hh:mi:ss(24h) - 21 or 121 (*) ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h) - 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(no spaces) - 130* Kuwaiti dd mon yyyy hh:mi:ss:mmmAM - 131* Kuwaiti dd/mm/yy hh:mi:ss:mmmAM 把convert函数的介绍仔细看完.select convert(nvarchar(12),getdate(),120) select convert(char(12),getdate())返回:02 20 2006 1???怎么会返回这样的子符串呢???要怎么解决呢?select convert(datetime,convert(char(12),getdate()))返回:從字元 (char) 字串轉換到 datetime 的語法錯誤。_______________________________________________________________不好意思是我没有说清楚,我有一个程序,我是没有源代码的,现在出现了從字元 (char) 字串轉換到 datetime 的語法錯誤。我查到了程序出错的sql语句,那现是这个语句:'select convert(char(12),getdate())',返回出:'02 20 2006 1'引起的,要解决这个问题只能让getdate()只能返回年月日(YYYY-MM-DD)这样的值.不知道各位高手有什么办法可以让getdate()返回'YYYY-MM-DD'格式的日期值 拜托,YYYY-MM-DD的格式也只有十位啊。那你这个char(12)又是什么意思啊。难不成让让后两位为空。那又何必永char。varchar不更好?这样的代码,让他重写好了。 十在是没有办法啊,有什么方法可以改变ms sql 默认的日期格式:- 0 or 100 (*) Default mon dd yyyy hh:miAM (or PM) select convert(datetime,convert(char(10),getdate(),120))不行吗? set language 'simplified chinese' 不会呀,在我机子上select convert(char(12),getdate())----------------------------------02 22 2006 select cast(convert(char(12),getdate()) as datetime)-----------------------------------2006-02-22 00:00:00.000转换成功呀 求一SQl语句 请问如何做增量备份用T-SQL语句写 加了distinct老是报错 怎样用select语句选取表中的任意一条记录号为N的记录 取货币型格式化并计算 如何设置sqlserver2008r2,让管理器只能在特定的机子使用? windows xp 下sql 2000 做分布式数据更新 求解 请教SQL2005备份到网络硬盘怎么弄 帮个忙,看一个简单时间比较的问题 [馨郁星愿]关于远程连接数据库的问题~~~郁闷, 求数据库表复制的存储过程!急
/*
2006-02-20(1 row(s) affected)
*/
可以查询帮助
convert---〉第一个就是下面的介绍
Without century (yy) With century (yyyy)
Standard
Input/Output**
- 0 or 100 (*) Default mon dd yyyy hh:miAM (or PM)
1 101 USA mm/dd/yy
2 102 ANSI yy.mm.dd
3 103 British/French dd/mm/yy
4 104 German dd.mm.yy
5 105 Italian dd-mm-yy
6 106 - dd mon yy
7 107 - Mon dd, yy
8 108 - hh:mm:ss
- 9 or 109 (*) Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmdd
- 13 or 113 (*) Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 or 120 (*) ODBC canonical yyyy-mm-dd hh:mi:ss(24h)
- 21 or 121 (*) ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(no spaces)
- 130* Kuwaiti dd mon yyyy hh:mi:ss:mmmAM
- 131* Kuwaiti dd/mm/yy hh:mi:ss:mmmAM
返回:
02 20 2006 1???怎么会返回这样的子符串呢???要怎么解决呢?
select convert(datetime,convert(char(12),getdate()))
返回:
從字元 (char) 字串轉換到 datetime 的語法錯誤。
_______________________________________________________________不好意思是我没有说清楚,我有一个程序,我是没有源代码的,现在出现了從字元 (char) 字串轉換到 datetime 的語法錯誤。我查到了程序出错的sql语句,那现是这个语句:'select convert(char(12),getdate())',返回出:'02 20 2006 1'引起的,要解决这个问题只能让getdate()只能返回年月日(YYYY-MM-DD)这样的值.
不知道各位高手有什么办法可以让getdate()返回'YYYY-MM-DD'格式的日期值
select convert(char(12),getdate())
----------------------------------
02 22 2006 select cast(convert(char(12),getdate()) as datetime)
-----------------------------------
2006-02-22 00:00:00.000转换成功呀