- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Sql server如何创建语言辅助函数--.doc
Sql server如何创建语言辅助函数
在现在这样一个全球化环境中,因为在不同的语言中有很多不同的语法规则,所以以前很多简单的任务现在都变得很困难。你可以将一门特定的语言分成一组语法规则和针对这些规则的异常(以及一个基本词语),从而将这些任务一般化。在一些编程语言(比如 Perl 和 Java)中,有一些公共域(domain)模块可以用来对文本完成语言转换。
下面给出一个稍微简单一点儿的例子,假设我们要将一个数字转换成其拼写版本(例如需要填写支票和法律合同)。这个诀窍在 Oracle 出现的早期已经有了,一般都以如下方式使用:
selectto_char(to_date(12345,#39;J#39;),#39;Jsp#39;) from dual;
T dual;
Fifth Mayo 在为大多数语言生成数字时涉及的语法实际上相当简单。主体工作包括收集所有不同的语法规则并建立起足够的规则来生成正确的语法模式。(现在我将回避涉及到匹配数字和性别的问题。)
首先,我将创建两个表:第一个表保存基本的单词和异常,第二个表保存用于生成文本的一些简单的模板模式。如果在第一个表中有数字,那么我的语言函数就返回那个文本。对于其它每个数字,我将试图在一系列模式中匹配它,并应用一个模板来生成正确的文本。
create table num integer,
ary key (lang,num)
);
create table numrules
(
lang varchar2(2),
seq integer,
p1 integer,
p2 integer,
temp0 varchar2(30),
temp varchar2(30),
constraint numrules_pk primary key (lang,seq)
); 下面是生成一个数字拼写版本所需的代码。这里我将按照基数来(比如1、2和3);而事实上,这些函数可以通过为每种语言列出更多异常和模式来生成序数(第1、第2、第三)和复数版本。
REM -- create a table of base ber) return varchar2;
function cardinal(n number) return varchar2;
end genber) return varchar2
is
l_ num = n;
return l_ber) return varchar2
is
p number; -- poplate
v number; -- lowords.word%type;
begin
if n lt; 0 then
l_word := get_word(-1);
if l_word is null then
return null;
end if;
return l_word||#39; #39;||cardinal(-n);
end if;
l_word := get_word(n);
123下一页 这篇文章来自..,。if l_ numrules
od(n,p);
if rop0,#39;~2#39;,cardinal(v));
end if;
else
if v = 0 then
return replace(rop0,#39;~1#39;,cardinal(n/p));
else
return replace(replace(nvl(rop,#39;~1 ~2#39;),
#39;~1#39;,cardinal(n-v)),
#39;~2#39;,cardinal(v));
end if;
end if;
end if;
end loop;
return #39;NUMBER TOO LARGE#39;;
end cardinal;
end genillion和million million代替billion和trillion(美国用
您可能关注的文档
- lighttpd1.4.18代码分析(五).doc
- lighttpd1.4.18代码分析(八).doc
- lighttpd1.4.18代码分析(六).doc
- lighttpd1.4.18代码分析(四).doc
- Linux Apache服务器系统的设置与优化.doc
- Linux Apache服务器系统设置与优化.doc
- Linux 平台上的软件包管理.doc
- Linux 应用集成 MySQL 数据库访问技巧--.doc
- Linux 集群文件系统简介.doc
- Linux下MySQL数据库开发技术--.doc
- 2025年四川省都江堰市事业单位考试(自然科学专技类C类)职业能力倾向测验试卷最新.docx
- 2025年云南省大理市事业单位考试职业能力倾向测验(中小学教师类D类)强化训练题库推荐.docx
- 部编版五年级下册道德与法治期末综合卷精品附答案.docx
- 部编版五年级下册道德与法治期末检测卷附答案(b卷).docx
- 文案图论mathematical modeling组合与.pptx
- 抽象氧化铝形成奥氏体钢代表了新一类腐蚀爬行启用更高温度恢复器gt2013-94940.pdf
- unit 13过真题-学九级英语全一册单元复习人教版.pdf
- 命名法一般描述具有新功能acpsb-0817.pdf
- 参考综合文案dracula 1.pdf
- 托福口语部分-vive语音元辅音.pptx
文档评论(0)