sql轉換字元串
❶ sql中怎麼將double型 的轉換為字元串型
select CAST( 欄位名 as 字元串類型)
比如 現在我有一個student表中有一個grade 類型double 保存學生成績
select cast(garde as nvarchar(50)) as '列別名' from student
當前注意 轉換的時候,注意類型本身的大小,例如 大欄位(長度) 轉換 小類型 或許會失敗
❷ 在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)
❸ SQL語句中, 怎樣把日期轉為字元串
CONVERT
(data_type[(length)],
expression
[,
style])
參數
expression
data_type
目標系統所提供的
數據類型
,包括
bigint
和
sql_variant。不能使用用戶
定義
的數據類型。有關可用的數據類型的更多信息,請參見數據類型。
length
nchar、nvarchar、char、varchar、binary
或
varbinary
數據類型的可選參數。
style
日期格式
樣式
,藉以將
datetime
或
smalldatetime
數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar
或
nvarchar
數據類型);
或者
字元串
格式樣式,藉以將
float、real、money
或
smallmoney
數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar
或
nvarchar
數據類型)。
在表中,左側的兩列表示將
datetime
或
smalldatetime
轉換為字元數據的
style
值。
給
style
值加
100,可獲得包括世紀數位的四位年份
(yyyy)。
❹ sql如何將字元串轉為日期
SQL中將字元串轉換成日期語句:日期=convert(datetime,字元串)。
CONVERT ()語句的用途是將一種數據類型的表達式轉換為另一種數據類型的表達式。格式是CONVERT ( data_type [ ( length ) ] , expression [ , style ] )。
❺ 在sql中如何實現電話號碼中間的4位數字轉換成特殊字元
不同的資料庫做法不同
replace就是替換,雖然是字元的替換,不過你的特殊字元應該不是數字吧,所以你的號碼應該存成字元型,不然假設你的替換字元是xxxx,可是這個可是沒辦法插入數字格式的。
你說的中間四位怎麼定義,是類似xxx xxxx xxxx種種,還是XX YYYY xx這種,如果是前面那種那就用定位比如substr,不知道你是什麼資料庫,只能用oracle的方式寫,可以根據自己資料庫自行查找相應函數
比如,replace(字元串,substr(字元串,4,4),'XXXX')
這樣的話,假設源字元串為001 1101 1100,那麼就會變為001 xxxx 1100
當然,這個語句本身是有問題的,如果剛巧你的號碼比較特殊,比如001 0101 0101,那麼可能就變成了0XXXX XXXX 01,或者001 1001 1001 那麼就是001 XXXX XXXX
那麼怎麼只更換中間四位,其他位置有特殊的也不動呢?
有兩個辦法
(1)分開顯示人然後合並,比如 selelct substr(字元串,1,3)||『XXXX』|| substr(字元串,-1,4) (本寫法是oracle的,其他資料庫的連接符號各有不同,情自行查找)
(2)replace全部替換,其實合作前面的差不多,比如replace(字元串,substr(字元串,1), substr(字元串,1,3)||『XXXX』|| substr(字元串,-1,4))
❻ SQL 中怎麼把字元串轉換為數字
可以使用函數:ISNUMERIC
當輸入表達式得數為一個有效的整數、浮點數、money 或 decimal 類型,那麼 ISNUMERIC 返回 1;否則返回 0。返回值為 1 確保可以將 expression 轉換為上述數字類型中的一種。
將字元的數字轉成數字,比如'0'轉成0可以直接用加法來實現;
若絕對比較可以這樣:
select binary 11 =binary "11ddddd";
字元集轉換:CONVERT(xxx USING gb2312);
類型轉換和SQL Server一樣,就是類型參數有點點不同 : CAST(xxx AS 類型),CONVERT(xxx,類型);
類型必須用下列的類型:BINARY、CHAR()、DATE、TIME、DATETIME、DECIMAL、SIGNED、UNSIGNED。
數據類型:
字元串數據類型是建模在形式字元串的想法上的數據類型。字元串是幾乎在所有編程語言中可以實現的非常重要和有用的數據類型。在某些語言中它們可作為基本類型獲得,在另一些語言中做為復合類型獲得。多數高級語言的語法允許通常用某種方式引用起來的字元串來表示字元串數據類型的實例;這種元字元串叫做「文本」或「字元串文本」。
以上內容參考:網路-字元串
❼ 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
說明這個函數對欄位值中全是數字但是數字間用「,」和「.」(逗號或點)隔開的都視為數字了!
❽ SQL如何將當前時間轉換成8位的字元串格式
CONVERT (data_type[(length)], expression [, style])
參數
expression
data_type
目標系統所提供的數據類型,包括 bigint 和 sql_variant。不能使用用戶定義的數據類型。有關可用的數據類型的更多信息,請參見數據類型。
length
nchar、nvarchar、char、varchar、binary 或 varbinary 數據類型的可選參數。
style
日期格式樣式,藉以將 datetime 或 smalldatetime 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型);
或者字元串格式樣式,藉以將 float、real、money 或 smallmoney 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型)。
在表中,左側的兩列表示將 datetime 或 smalldatetime 轉換為字元數據的 style 值。
給 style 值加 100,可獲得包括世紀數位的四位年份 (yyyy)。