Sql 有没有办法转换';全部';保存字符串时将其转换为大写

Sql 有没有办法转换';全部';保存字符串时将其转换为大写,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,在将字符串写入数据库之前,我需要将所有字符串转换为大写。有没有办法让sql server 2008自动执行此操作?我的意思是,SQLServer2008可以在保存字符串时将其转换为大写吗?或者,我必须按程序进行吗?试试: INSERT INTO <Column NAme> VALUES (Upper('Your Value')); 插入值(上限(“您的值”); 除非您可以更改插入和更新,否则您将需要一个触发器 或者,如果使用存储过程,则可以在参数上发出上限 我也会考虑一个区分大小写

在将字符串写入数据库之前,我需要将所有字符串转换为大写。有没有办法让sql server 2008自动执行此操作?我的意思是,SQLServer2008可以在保存字符串时将其转换为大写吗?或者,我必须按程序进行吗?

试试:

INSERT INTO <Column NAme> VALUES (Upper('Your Value'));
插入值(上限(“您的值”);

除非您可以更改插入和更新,否则您将需要一个触发器

或者,如果使用存储过程,则可以在参数上发出上限


我也会考虑一个区分大小写的检查约束,以确保<代码>上(COL)= COLL/CONT>如果您错过任何东西,或者至少一些常规检查

< P>一种方法是通过在表上设置触发器:< /P>
create trigger settouppercase
        on mytable
        instead of insert, update
as begin
    delete from mytable where mycolumnid in (select mycolumnid from deleted)

    select mycolumnid, upper(mycolumn) as mycolumn into #upcased from inserted

    insert into mytable(mycolumnid, mycolumn)
    select mycolumnid, mycolumn from #upcased
end
试试这个:

CREATE TRIGGER ToUpperCase
        ON tblUsers
        AFTER INSERT, UPDATE
AS
BEGIN

    UPDATE  tblUsers
    SET     UserName = UPPER(UserName)
    WHERE   UserId IN (SELECT UserId FROM inserted)

END

需要什么?不区分大小写的排序有用吗?@OMG Ponies:我的客户有点难,他希望这样。我正在使用CI排序,但这不是他想要的。是的,似乎是这样。这对我来说不是一个好办法,但谢谢你,现在我知道没有其他办法了。再次感谢你。