您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_addlanguage

语法


sp_addlanguage <language>, <alias>, <months>, <shortmons>, 
	<days>, <datefmt>, <datefirst>
	

参数

language

是该语言正式的语言名称,必须以 7 位 ASCII 字符的形式输入。

alias

可用于替换备用语言的正式名称。可输入“null”(别名与正式语言名称相同)或所需的名称。如果您的终端支持,则可以在别名中使用 8 位 ASCII 字符,例如“français”。

months

是 12 个月份全名的列表,从 1 月到 12 月顺次排序,只能用逗号分隔(不允许使用空格)。月份名称最多可以有 20 个字符并可以包含 8 位 ASCII 字符。

shortmons

是 12 个月份缩写名称的列表,从 1 月到 12 月顺次排序,只能用逗号分隔(不允许使用空格)。月份缩写最多可以有 9 个字符并可以包含 8 位 ASCII 字符。

days

是每周 7 天全名的列表,从星期一到星期天顺次排序,只能用逗号分隔(不允许使用空格)。日期名称最多可以有 30 个字符并可以包含 8 位 ASCII 字符。

datefmt

是输入 datetimesmalldatetime、date 或 time 数据时日期分量月/日/年的日期顺序。有效参数为 mdy、dmy、ymd、ydm、myd 或 dym。“dmy”表示日期顺序为日/月/年。

datefirst

设置每星期第一天的数字以进行日期计算。例如,星期一是 1,星期二是 2,依此类推。

示例

##### 示例 1

下面的存储过程将法语添加到服务器上可用的语言中。“null”表示别名与正式名称“french”相同。日期顺序是“dmy”– 日/月/年。“1”指定 <days> 列表中的第一项 lundi 是每星期的第一天。因为法语中只有当星期日期和月份的名称出现在句首时才将它们大写,所以此示例显示它们在被添加时为小写:


sp_addlanguage french, null,
    "janvier,fevrier,mars,avril,mai,juin,juillet, 
    aout,septembre,octobre,novembre,decembre", 
    "jan,fev,mars,avr,mai,juin,jui,aout,sept,oct,
    nov,dec",
    "lundi,mardi,mercredi,jeudi,vendredi,samedi,
    dimanche", 
    dmy, 1

用法

通常,使用 langinstall 实用程序或 SAP ASE 安装程序从某个 SAP ASE 语言模块添加备用语言。语言模块提供该语言的日期名称和经过翻译的错误消息。但是,如果您的服务器未提供某个语言模块,请使用 sp_addlanguage 定义日期名称和格式。

使用 alter login 更改用户的缺省语言。如果将用户的缺省语言设置为某种使用 sp_addlanguage 添加的语言,但是没有该语言的本地化文件,则用户在登录时将收到一条信息性消息,指出他们的客户端软件无法打开本地化文件。

通过 sp_addlanguage 更改系统表

sp_addlanguage 系统过程会对系统表执行更改。

sp_addlanguagemaster.dbo.syslanguages 创建一个条目,在每个替代语言的 langid 列中插入唯一数值。langid 0 是为美国英语保留的。

<language> 参数成为正式语言名称,存储在 master.dbo.syslanguages 的 name 列中。语言名称必须是唯一的。使用 sp_helplanguage 显示 SAP ASE 上可用的替代语言的列表。

如果为 alias 输入了 NULL,则 sp_addlanguagemaster.dbo.syslanguages 中的 alias 列设置为正式的语言名称,但是系统管理员可以通过 sp_setlanalias 更改 syslanguage.alias 的值。

sp_addlanguagemaster.dbo.syslanguages 中的 upgrade 列设置为 0.

通过 sp_addlanguage 添加的语言的日期

对于通过语言模块添加的替代语言,SAP ASE 服务器将日期值以 datetime 数据类型的形式发送到客户端,客户端使用本地化文件以用户的当前语言显示日期。

对于通过 sp_addlanguage 添加的日期字符串,使用 convert 函数将日期转换为服务器中的字符数据,其中 <pubdate> 是 datetime 数据,<table> 是任意表:


select convert(char, <pubdate>) from <table>

当用户对日期值执行数据输入并且需要使用通过 sp_addlanguage 创建的日期名称时,客户端必须以字符数据形式输入这些值,并将它们以字符数据形式发送到服务器。