SQL - 选择大写字段

时间:2011-01-18 12:07:56

标签: sql sql-server sql-server-2005

我有一个表,它有一个列(SQL_Latin1_General_CP1_CI_AI),并且有几百行,其中该列以全部大写填充。 我想知道是否可以选择具有大写字段的所有行,并且最终是否可以进行更新以大写字段。

我在MSSQL 2005上使用SQL Management Studio

由于

1 个答案:

答案 0 :(得分:1)

DECLARE @T TABLE
(
col VARCHAR(3) COLLATE SQL_Latin1_General_CP1_CI_AI
)

INSERT INTO @T 
SELECT 'foo' UNION ALL SELECT 'BAR' UNION ALL SELECT ''

UPDATE @T
SET col = STUFF(LOWER(col),1,1,LEFT(col,1)) 
WHERE col = UPPER(col) COLLATE SQL_Latin1_General_CP1_CS_AS AND LEN(col) >1

SELECT * FROM @T

返回

(1 row(s) affected)

col
----
foo
Bar


(3 row(s) affected)