的syslanguage表应用一例
来源:互联网 发布:数据统计分析平台 编辑:程序博客网 时间:2024/06/02 02:50
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
-----------------------------------------------------------------------------------------------
作者:翁彦
欢迎转载,请保留此申明信息。
欢迎联系我,enhydra_boy@tom.com
----------------------------------------------------------------------------------------------
最近,在csdn论坛上,前后回答了两位位朋友的问题,觉得有必要总结一下。
问题是这样
1SQLServer2000是中文版的,想能按照英文方式显示日期格式?
2SQLServer2000是中文版的,想能购显示中文月名?
让我们来分析一下,显示日期格式肯定和language有关,而且应该和当前session的language设置有关,肯定和服务器,是否是中英文无关。
那么第一个问题就很简单了,
只需要
setlanguageus_english
selectconvert(varchar(20),getdate(),107)
setlanguage简体中文
结果如下
Changedlanguagesettingtous_english.
--------------------
Sep01,2003
(所影响的行数为1行)
已将语言设置改为简体中文。
但是第二个问题,似乎就不行了,我们可以测试一下
setlanguage简体中文
selectconvert(varchar(20),getdate(),107)
得到的却是
0901,2003
不是需要的九月。
这需要进一步分析了。数据库支持的语言,应该有对应的日期月份简写的设置。
master.dbo.syslanguages就是存放了对应的信息。
可以查看以下syslanguages的结构
我们关心的是是其中的shortmonths和months这两项。
我们看到简体中文这一条,shortmonths,months都是01,02,03,...。
所以无论你怎么设置language,结果都是09而不会是九月。
解决方法,大家都想到了。对了就是修改系统表。
usemaster
sp_configure'allowupdate','1'
go
reconfigurewithoverride
go
updatedbo.syslanguages
setshortmonths='一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月',
months='一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月' wherename='简体中文'
go
sp_configure'allowupdate','0'
go
reconfigurewithoverride
go
然后重起一下数据库服务器。
然后运行
selectconvert(varchar(20),getdate(),107)
go
--------------------
九月01,2003
selectconvert(varchar(100),getdate(),9)
go
----------------------------------------------------------------------------------------------------
九月 1200311:36:25:507AM
问题解决了。
看来,很多问题需要仔细的想一下,分析一下,看看文档,自己手工实践一下,都能迎刃而解。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
-----------------------------------------------------------------------------------------------
作者:翁彦
欢迎转载,请保留此申明信息。
欢迎联系我,enhydra_boy@tom.com
----------------------------------------------------------------------------------------------
最近,在csdn论坛上,前后回答了两位位朋友的问题,觉得有必要总结一下。
问题是这样
1SQLServer2000是中文版的,想能按照英文方式显示日期格式?
2SQLServer2000是中文版的,想能购显示中文月名?
让我们来分析一下,显示日期格式肯定和language有关,而且应该和当前session的language设置有关,肯定和服务器,是否是中英文无关。
那么第一个问题就很简单了,
只需要
setlanguageus_english
selectconvert(varchar(20),getdate(),107)
setlanguage简体中文
结果如下
Changedlanguagesettingtous_english.
--------------------
Sep01,2003
(所影响的行数为1行)
已将语言设置改为简体中文。
但是第二个问题,似乎就不行了,我们可以测试一下
setlanguage简体中文
selectconvert(varchar(20),getdate(),107)
得到的却是
0901,2003
不是需要的九月。
这需要进一步分析了。数据库支持的语言,应该有对应的日期月份简写的设置。
master.dbo.syslanguages就是存放了对应的信息。
可以查看以下syslanguages的结构
我们关心的是是其中的shortmonths和months这两项。
我们看到简体中文这一条,shortmonths,months都是01,02,03,...。
所以无论你怎么设置language,结果都是09而不会是九月。
解决方法,大家都想到了。对了就是修改系统表。
usemaster
sp_configure'allowupdate','1'
go
reconfigurewithoverride
go
updatedbo.syslanguages
setshortmonths='一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月',
months='一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月' wherename='简体中文'
go
sp_configure'allowupdate','0'
go
reconfigurewithoverride
go
然后重起一下数据库服务器。
然后运行
selectconvert(varchar(20),getdate(),107)
go
--------------------
九月01,2003
selectconvert(varchar(100),getdate(),9)
go
----------------------------------------------------------------------------------------------------
九月 1200311:36:25:507AM
问题解决了。
看来,很多问题需要仔细的想一下,分析一下,看看文档,自己手工实践一下,都能迎刃而解。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 的syslanguage表应用一例
- SQL Server的syslanguage表应用一例
- 球坐标的应用一例
- timerfd的简单应用一例
- Gauce的应用(一)
- WebService的应用(一)
- 域的应用(一)
- Servlet的应用(一)
- GridView的应用一
- Tensorflow的应用(一)
- ajax应用一例
- expect应用一例
- HttpHandler应用一例
- HttpHandler应用一例
- 队列应用一例
- merge应用一例
- runtime应用一例
- CountDownTimer 应用一例
- 「新闻」微软所面对的软件战争
- 游戏开发基础(8)
- 3-TIER开发工具---VisualDBTOOLS3.0
- bp网络算法对y=0.4sin(2*PI*x)+0.5的拟合
- ceshi
- 的syslanguage表应用一例
- 用数组模拟堆栈
- 结合ADO、ADOX和MFC的文档/视图/框架架构创建和打开Ac
- java.exe出错错误分析
- 通过写入注册表添加ODBC数据源
- 定制数据层
- 正则表达式--备忘
- 枚举当前打开的所有窗口
- Frame