1. sql中怎麼將字元串轉
在SQL SERVER 2005中,將表中字元串轉換為數字的函數共2個:
1. convert(int,欄位名) 例如:select convert(int,'3')
2. cast(欄位名 as int) 例如:select cast('3' as int)
其實,一般情況下沒有必要把字元串轉換為數字類型
假如需要比較兩個欄位是否相等,但是一個欄位為字元串類型,一個為數字類型,用「=」比較兩個值是否相等時,SQL SERVER會自動把字元串轉換為數字再比較的!
例如:
select da.TITLE_NAME,dsc.NAME
from dbo.DV_DUTY dd
inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA)
left join DV_ASSET da on(da.ID=dd.RECORD_ID and dd.TYPE='2')
where dd.AREA is not null
這個SQl中,inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA) 中dsc.ID為數字類型,dd.AREA為字元類型,相當於這樣on(1='1')的判斷,這時候就會自動吧字元串的'1'轉換為數字類型再比較的。
但是也有弊端,一旦字元類型轉換為數字類型出錯(說明字元串的確就非數字組成的),SQL就會拋出異常。
SQL SERVER 2005中有判斷欄位是否為數字的函數:
ISNUMERIC(欄位名) -----假如欄位是數字類型返回1,不是就返回0
但是好像有的時候不好使,比如:select isnumeric('3,34') 就返回1
說明這個函數對欄位值中全是數字但是數字間用「,」和「.」(逗號或點)隔開的都視為數字了!
2. sql怎麼將string轉換成字元串
CONVERT(VARCHAR(8),欄位)
3. 在SQL語句裡面如何將字元型轉換成數字型
將字陸銷符的數字轉成數字,比如'0'轉成0可以直接用加法來實現;
例如:將pony表中的d 進行排序,可d的定義為varchar,可以這樣解決;
select * from pony order by (d+0);
在進行ifnull處理時,比如 ifnull(a/b,'0') 這樣就會導致 a/b成了字元串,因此需要把'0'改成0,即可解決此困擾;
比較數字和varchar時,比如a=11,b="11ddddd";
則 select 11="11ddddd"相等;
若絕對比較可以這樣:
select binary 11 =binary "11ddddd";
字元集轉換 : CONVERT(xxx USING gb2312);
類型轉換和SQL Server一樣,就是類型參數有點點不搜鄭同 : CAST(xxx AS 類型),CONVERT(xxx,類型);
類型必須用下列的類型:BINARY、CHAR()、DATE、TIME、DATETIME、DECIMAL、SIGNED、早漏游UNSIGNED。
4. sql 資料庫報表問題,對一定條件下的未知行數據 中的某一欄位(字元型) 如何轉轉換成用逗號隔開的字元串
for path('')
5. 如何使用sql語句將其變為字元串
先檢查金額列的數據是否都符合小數規范 用 cast(金額 as decimal(10,4))>500 或者 convert(decimal(10,4),金額)>500 試試 decimal的長度和小數位數根據自己需要設定
6. 在SQL語句裡面如何將字元型轉換成數字型
先檢查金額列的數據是否都符合小數規范,用cast(金額 asdecimal(10,4))>500或者
convert(decimal(10,4),金額)>500
註:decimal的長度和碧鬧小數位數根據自己需要設定
sql中將字元串數字轉換成數字:
方法一:SELECT CAST('123' AS SIGNEDinteger);
方法二:SELECT CONVERT('123',SIGNED);
方法三:SELECT '123'+0;
(6)sql中將字元型轉成字元串擴展閱讀:
能將字元型轉換成數字型晌慧好,就能將數字轉化為字元,對於宴鉛精確數值的數據類型,轉換出來的字元串就是我們存儲的數值。比如:
declare @i int
set @i=123456789
print 'test:'+convert(varchar(20),@i)
輸出就是:test:123456789
而如果對於近似數值的數據類型,那麼可就沒有那麼簡單了。
declare @i float
set @i=123456789
print 'test:'+convert(varchar(20),@i)
輸出結果:test:1.23457e+008
7. sql 2008 中,將int數據類型如何轉換為string
SQL Server 中的字元串是用char,nchar,varchar,nvarchar等數據類型來實現的。
將int數據類型如何轉換為字元串可以用如下任意一種方式:
declare @num int
set @num = 1
-- 方式1:
select CONVERT(varchar(10),@num)
-- 或者方式2
select CAST(@num as varchar(10))
8. 在sql server2000中,如何把整型欄位轉換成字元串型欄位
使用函數STR()
STR
由數字數據轉換來的字元數據。
語法
STR ( float_expression [ , length [ , decimal ] ] )
參數
float_expression
是帶小數點的近似數字 (float) 數據類型的表達式。不要在 STR 函數中將函數或子查詢用作 float_expression。
length
是總長度,包括小數點、符號、數字或空格。默認值為 10。
decimal
是小數點右邊的位數。
返回類型
char
注釋
如果為 STR 提供 length 和 decimal 參數值,則這些值應該是正數。在默認情況下或者小數參數為 0 時,數字四捨五入為整數。指定長度應該大於或等於小數點前面的數字加上數字元號(若有)的長度。短的 float_expression 在指定長度內右對齊,長的 float_expression 則截斷為指定的小數位數。例如,STR(12,10) 輸出的結果是 12,在結果集內右對齊。而 STR(1223, 2) 則將結果集截斷為 **。可以嵌套字元串函數。
說明 若要轉換為 Unicode 數據,請在 CONVERT 或 CAST 轉換函數內使用 STR。
示例
A. 使用 STR
下例將包含五個數字和一個小數點的表達式轉換為有六個位置的字元串。數字的小數部分四捨五入為一個小數位。
SELECT STR(123.45, 6, 1)
GO
下面是結果集:
------
123.5
(1 row(s) affected)
當表達式超出指定長度時,字元串為指定長度返回 **。
SELECT STR(123.45, 2, 2)
GO
下面是結果集:
--
**
(1 row(s) affected)
即使數字數據嵌套在 STR內,結果集也是帶指定格式的字元數據。
SELECT STR (FLOOR (123.45), 8, 3)
GO
下面是結果集:
--------
123.000
(1 row(s) affected)
9. sql server中的怎麼把數值型轉換為字元串
有兩種。
1.轉換(int,欄位名)
例如:選擇convert(int,'3')
選擇cast('3'作為int)
一般來說,沒有必要將字元串轉換為數字類型,如果你需要比較兩個欄位是相等的,但為字元串類型欄位,類型,用「=」來比較這兩個值是相等的,SQLSERVER將自動將字元串轉換為一個數字,然後比較。
(9)sql中將字元型轉成字元串擴展閱讀:
注意事項:
這兩個函數都執行強制轉換,但是語法不同。據說有一些不同的轉換,但我更習慣於使用轉換函數,它更像一個函數的語法一方面,可以指定的格式轉換,將時間和價值轉換為一個字元串。
對於數據類型的確切值,轉換後的字元串是我們存儲的值。如:
聲明@iintset@i=123456789print'test:'+轉換(varchar(20),@i)
輸出是:test:123456789
對於具有近似值的數據類型,情況就不那麼簡單了。
聲明@ifloatset@i=123456789print'test:'+轉換(varchar(20),@i):test:1.23457e+008
10. 在SQL中如何將字元串組轉換為字元串
STR(123)+STR(456)
是這個意思吧,轉換下