我想改SQL Server默认的时间格式我希望不改变库结构和sql文,能执行形如
Insert tt (id,aa) Values ('1', CAST('Feb 19 1952 12:00AM' AS datetime) )
语句
我用的是SQL Server 2000简体中文个人版实际上,我是要执行一个安装盘(.msi 微软的,即能确保经过一定的设置可安装成功)
但是安装报错“从字符串转换为 datetime 时发生语法错误”
我已经查到,问题是出在时间这块(做过测试,如果将带时间的sql文改掉的话,就没问题)现在我需要知道的是,SQL Server怎样设置,可以直接执行这个安装另外,查到有人说SQL Server的时间格式有以下列出的项,可是不知道怎样才能让SQL Server认下面列出的第一种格式
0 或 100 (*) 預設值 mon dd yyyy hh:miAM (或 PM)
1 101 USA mm/dd/yy
2 102 ANSI yy.mm.dd
3 103 British/French dd/mm/yy
4 104 德文 dd.mm.yy
5 105 義大利文 dd-mm-yy
6 106 - dd mon yy
7 107 - Mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 預設值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM (或 PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 歐洲預設值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 標準 yyyy-mm-dd hh:mi:ss(24h)
- 21 或 121 (*) ODBC 標準 (有毫秒) 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
Insert tt (id,aa) Values ('1', CAST('Feb 19 1952 12:00AM' AS datetime) )
语句
我用的是SQL Server 2000简体中文个人版实际上,我是要执行一个安装盘(.msi 微软的,即能确保经过一定的设置可安装成功)
但是安装报错“从字符串转换为 datetime 时发生语法错误”
我已经查到,问题是出在时间这块(做过测试,如果将带时间的sql文改掉的话,就没问题)现在我需要知道的是,SQL Server怎样设置,可以直接执行这个安装另外,查到有人说SQL Server的时间格式有以下列出的项,可是不知道怎样才能让SQL Server认下面列出的第一种格式
0 或 100 (*) 預設值 mon dd yyyy hh:miAM (或 PM)
1 101 USA mm/dd/yy
2 102 ANSI yy.mm.dd
3 103 British/French dd/mm/yy
4 104 德文 dd.mm.yy
5 105 義大利文 dd-mm-yy
6 106 - dd mon yy
7 107 - Mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 預設值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM (或 PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 歐洲預設值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 標準 yyyy-mm-dd hh:mi:ss(24h)
- 21 或 121 (*) ODBC 標準 (有毫秒) 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
试过了,不行
--楼上语句的日期的格式错误,之所有会出错。
--你的日期怎么得来,可以用以下语句进行测试。
declare @datetime datetime
set @datetime=getdate()
print convert(datetime,@datetime,109)
--格式为:04 19 2005 6:51PM
go
只不过默认语言是英文时格式是
mon dd yyyy hh:miAM 中文时将月份换成了数字
mm dd yyyy hh:miAM
sql语句没错,我就是要求支持CAST('Feb 19 1952 12:00AM' AS datetime)这种格式且,已经说明过了这个是微软的安装盘,我不可以改里面的任何东西
我只不过是从安装过程的报错锁定到问题是出在CAST('Feb 19 1952 12:00AM' AS datetime)这个地方如果用英文版的sql server应该可以(就是说,这是微软美国做的东西,在美国用肯定没问题)
我想知道的是怎样从sql server里面设置到能支持插入'Feb 19 1952 12:00AM‘时间格式拜托不要教我怎样改sql文了
直接录入数据,能把“Feb 19 1952 12:00AM”写进去不过写sql文插入还是报错,能插“2/19/1952”这种格式的
“Feb 19 1952 12:00AM”这种就不行这个帖子也算是有点收获了
明天还解决不了就结帖
装英文版的算了
SET LANGUAGE us_english
就可以啊
或者试一下
update master..syslanguages
set dateformat = 'mdy',shortmonths = 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'
where name = '简体中文'/*完成后改回来,要不然日期格式就全乱了
update master..syslanguages
set dateformat = 'ymd',shortmonths = '01,02,03,04,05,06,07,08,09,10,11,12'
where name = '简体中文'
*/这种方法要求'允许对系统目录直接修改',可以在企业管理器的服务器设置里更改
exec sp_defaultlanguage 'sa','us_english'