以首字母大写的方式显示所有员工的姓名.(Oracle数据库脚本)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以首字母大写的方式显示所有员工的姓名.(Oracle数据库脚本)相关的知识,希望对你有一定的参考价值。

表emp,员工姓名:ename;
select INITCAP( SUBSTR(ename,1,1)) LOWER(SUBSTR(ename,2,LENGTH(ename))) FROM EMP;语法是错的吗?应该怎么写。

oracle中首字母显示大写,其他字母显示小写要用upper函数和substr函数。

工具:oracle 10g

步骤:

1、如student表中有如下数据:

2、要name列首字母大写,其他字母不变,用如下语句:

select id,substr(upper(name),1,1)||substr(name,2,length(name)-1) name from student;

3、查询结果:

upper函数:功能将字符串中的小写字母转换为大写字母。

语法:Upper( string )

参数string:要将其中的小写字母转换为大写字母的字符串返回值String。函数执行成功时返回将小写字母转换为大写字母后的字符串,发生错误时返回空字符串("")。如果string参数的值为NULL,Upper()函数返回NULL。


substr函数:substr函数在oracle中使用表示被截取的字符串或字符串表达式。

语法:substr(strings|express,m,[n])

参数:strings|express :被截取的字符串或字符串表达式;m 从第m个字符开始截取;n 截取后字符串长度为n。

参考技术A 正常直接
select initcap(ename) from emp;
就可以了,这个就是只转第一个字母大写的函数啊
你那个
select INITCAP( SUBSTR(ename,1,1)) ||LOWER(SUBSTR(ename,2,LENGTH(ename)-1)) FROM EMP;
就好了,中间少了连接符
正常的全部转大写函数
select UPPER( SUBSTR(ename,1,1)) ||LOWER(SUBSTR(ename,2,LENGTH(ename)-1)) FROM EMP;
这个也是正确的

||代表两个字符的连接符号
还有一个,你长度算的不对,因为首位已经改了,所以length那个地方应该减一位,这样才能减少出错的几率
参考技术B select INITCAP( SUBSTR(ename,1,1)) ||LOWER(SUBSTR(ename,2,LENGTH(ename))) FROM EMP; 参考技术C 有个函数initcap.直接用就可以.

以上是关于以首字母大写的方式显示所有员工的姓名.(Oracle数据库脚本)的主要内容,如果未能解决你的问题,请参考以下文章

如何使 UITextField 的文本在 iPhone 中以首字母大写显示

使用字符串的方式

Oracle数据库的单行函数

用一条SQL语句查询出所有员工姓名的字母前三位

SQL大写函数[重复]

1.2 变量和简单数据类型