Oracle数据库操作时如何使用LOWER()、UPPER()函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库操作时如何使用LOWER()、UPPER()函数相关的知识,希望对你有一定的参考价值。

1、调用LOWER函数,即输入 =LOWER 。

2、设定准备转换的文本。

3、点击回车,文本中的字符自动转换。

4、向下拖拽,完成表格填充。

5、小写字母转换为大写字母,请使用UPPER函数。

6、输入UPPER函数公式。

7、通过UPPER函数,文本中的小写字母自动转换为大写字母。

参考技术A

    lower:大写字符转化成小写的函数

  select lower(表中字段) from 表名 --将表里的字段信息中含有字母的全部转成小写


    upper:小写字符转化成大写的函数

  select upper(表中字段) from 表名 --将 user表里的字段信息中含有字母的全部转成大写

参考技术B Oracle LOWER() 和 UPPER()函数的使用方法一列返回行不区分大小写
这是常见的做法,使列不区分大小写,以确保您所希望返回所有行。
SELECT *FROM COURSES
WHERE LOWER(education_delivery_method) = 'classroom' 您可以使用Oracle的UPPER() or LOWER() 函数来在你的SQL选择格式列SELECT
UPPER(FIRSTNAME) AS "FIRSTNAME",
LASTNAMEFROM STUDENTS
WHERE RowNum < 11 格式一列使用上下功能
它可以使用与串()一起下的Oracle UPPER() or LOWER()函数函数来完成不同类型的格式。 SELECT
UPPER(SUBSTR(LASTNAME,1,1)) || LOWER(SUBSTR(LASTNAME,2,29))
FROM STUDENTS
WHERE RowNum < 11更新一组行的变化情况
它可以使用一个更新语句Oracle的 UPPER() or LOWER()函数一起使用,以改变“案“的一组行。 UPDATE STUDENTS
SET LASTNAME = UPPER(LASTNAME)本回答被提问者采纳

mybatis操作Oracle数据库如何指定NLS_LANGUAGE多语言

一、背景
笔者碰到应用系统连接Oracle数据库时多语言需要统一使用英语,该配置不能在数据库Server端修改,因些需要在应用系统端想办法进行配置。
二、解决方式
经过查阅数据源和mybatis相关源码,有两种方式支持修改:
1、使用Druid数据源的配置项connectionInitSqls定义连接初始化语句:
connectionInitSqls: ["ALTER SESSION SET NLS_LANGUAGE=\'AMERICAN\'"]
2、不修改数据源配置,在应用系统端增加mybatis的拦截器,拦截器代码如下:
(1)、Spring boot的Bean配置
@Configuration
public class MybatisPlusConfig {

/**
 * 更改会话状态
 *
 * @return
 */
@Bean
public AlterSessionInterceptor alterSessionInterceptor() {
    return new AlterSessionInterceptor();
}

/**
 * 乐观锁插件
 *
 * @return
 */
@Bean
public CustomOptimisticLockerInterceptor optimisticLockerInterceptor() {
    return new CustomOptimisticLockerInterceptor();
}

/**
 * oracle Sequence主键
 *
 * @return
 */
@Bean
public OracleKeyGenerator oracleKeyGenerator() {
    return new OracleKeyGenerator();
}

}

(2)、拦截器代码:
@Slf4j
@Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})})
public class AlterSessionInterceptor implements Interceptor {

@Override
public Object intercept(Invocation invocation) throws Throwable {
    Object[] args = invocation.getArgs();
    Connection connection = (Connection) args[0];
    if ("Oracle".equalsIgnoreCase(connection.getMetaData().getDatabaseProductName())) {
        Statement statement = null;
        try {
            statement = connection.createStatement();
            String locale = RequestHelper.getCurrentLocale();
            if ("en_GB".equalsIgnoreCase(locale)) {
                statement.execute("ALTER SESSION SET NLS_LANGUAGE=\'AMERICAN\'");
            } else {
                statement.execute("ALTER SESSION SET NLS_LANGUAGE=\'SIMPLIFIED CHINESE\'");
            }
        } finally {
            statement.close();
        }
    }
    return invocation.proceed();
}

@Override
public Object plugin(Object target) {
    if (target instanceof StatementHandler) {
        return Plugin.wrap(target, this);
    }
    return target;
}

@Override
public void setProperties(Properties properties) {
    // to do nothing
}

三、方案对比
1、在数据源配置,一次性配置,不用修改代码,所有用户都全部看到的错误信息全部都是英文提示
2、在代码进行拦截处理,需要修改代码,可针对不同的用户显示不同语言版本的错误提示,但是每次执行语句时,都须要多执行一句设置语言版本语句,操作繁琐,影响性能

以上是关于Oracle数据库操作时如何使用LOWER()、UPPER()函数的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库操作时如何使用LOWER()、UPPER()函数

在oracle创建表的时候,如何定义字符型的列,在插入数据之后,自动将其转换成大写或小写?

Oracle基本操作

请高手解答:oracle如何掌握用户对数据库所作的各种操作

Oracle单行函数

如何在向量向量上使用lower_bound?