【问题标题】:Is it possible to use LowerCase or UpperCase with Select *是否可以在 Select * 中使用小写或大写
【发布时间】:2012-06-13 15:29:51
【问题描述】:

我正在做一个基本查询

Select Lower(column-name) from table

现在,如果我想在多个列上使用小写字母,我需要做一个

Select Lower(col1), Lower(col2) from table

我想知道是否可以对所有列进行小写函数应用。

有点像

Select Lower(*) from table

这不是一个有效的声明,当我尝试使用 sqlite3 时,我猜其他供应商也一样。有没有人能够通过不同的方法做到这一点。也许是 PL/SQL 或 T-SQL。

【问题讨论】:

    标签: sql sql-server oracle select sqlite


    【解决方案1】:

    没有。不可能一次获取所有小写的列。

    【讨论】:

      【解决方案2】:

      我同意,如果不提及每一列,就无法做到这一点。但是由于您的消费应用程序可能无论如何都必须遍历所有列和行,所以我建议无论如何转换这些数据是正确的地方......

      【讨论】:

        【解决方案3】:

        虽然不可能使用内置的 sql 结构来实现这一点,但一个小的 sql 脚本应该可以解决这个问题。请考虑下面给出的脚本:

        declare @number_of_columns int
        declare @counter int
        declare @query nvarchar(max)
        declare @column_name nvarchar(max)
        set @query = 'select '
        set @counter = 1
        select @number_of_columns = count(ordinal_position) from information_schema.columns where table_name = '<your table name>'
        while(@counter <= @number_of_columns) 
        begin
        select @column_name = column_name from information_schema.columns
        where table_name = '<your table name>' and ordinal_position = @counter
        if(@counter < @number_of_columns)
            begin
                Set @query = @query + 'lower(' + (@column_name) + '),'
            end
        else
            begin
                Set @query = @query + 'lower(' + (@column_name) + ')'
            end 
        set @counter = @counter + 1
        end
        set @query = @query + ' from <your table name>'
        select @query
        EXEC sp_executesql @query = @query
        

        虽然,上述脚本不适用于 'ntext' 数据类型,因为它需要显式转换为 varchar 才能应用 'lower' 函数,但对于 'int'、'datetime 等数据类型可能不需要该脚本' 等等。因此,通过对列的数据类型应用附加条件来修改脚本。

        【讨论】:

          猜你喜欢
          • 2021-06-11
          • 2019-08-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-28
          • 1970-01-01
          相关资源
          最近更新 更多