declare @a varchar(4) , @b varchar(4) set @a = '0298' set @b = '123' select (case when @a > @b then 'a大' else 'b大' end) as text结果b大
--假设字段为column,转换为下面形式比较大小 cast('1'+column as bigint)
declare @a varchar(4) , @b varchar(4) set @a = '0298' set @b = '123' select (case when cast(@a as int) > cast(@b as int) then 'a大' else 'b大' end) as text /* text ---- a大(1 個資料列受到影響) */
直接存数字,旁边加个计算列 DECLARE @T TABLE(COL1 INT,COL2 AS RIGHT('000000'+CAST(COL1 AS VARCHAR(6)),6)) INSERT INTO @T SELECT 12 UNION ALL SELECT 234 SELECT * FROM @T /* 12 000012 234 000234 */
比較的時候轉換
cast(col as int)
varchar(11), 我記得sql 好像可以隱式轉換.
比較的時候轉換
cast(col as int)
deciaml(整数位,小数位)
decimal(整数位,小数位)
declare @a varchar(4) , @b varchar(4)
set @a = '0298'
set @b = '123'
select (case when @a > @b then 'a大' else 'b大' end) as text结果b大
--假设字段为column,转换为下面形式比较大小
cast('1'+column as bigint)
set @a = '0298'
set @b = '123'
select (case when cast(@a as int) > cast(@b as int) then 'a大' else 'b大' end) as text
/*
text
----
a大(1 個資料列受到影響)
*/
DECLARE @T TABLE(COL1 INT,COL2 AS RIGHT('000000'+CAST(COL1 AS VARCHAR(6)),6))
INSERT INTO @T
SELECT 12 UNION ALL SELECT 234
SELECT * FROM @T
/*
12 000012
234 000234
*/