sql數字轉字元
1. 在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))
2. sql server中的怎麼把數值型轉換為字元串
有兩種。
1.轉換(int,欄位名)
例如:選擇convert(int,'3')
選擇cast('3'作為int)
一般來說,沒有必要將字元串轉換為數字類型,如果你需要比較兩個欄位是相等的,但為字元串類型欄位,類型,用「=」來比較這兩個值是相等的,SQLSERVER將自動將字元串轉換為一個數字,然後比較。
(2)sql數字轉字元擴展閱讀:
注意事項:
這兩個函數都執行強制轉換,但是語法不同。據說有一些不同的轉換,但我更習慣於使用轉換函數,它更像一個函數的語法一方面,可以指定的格式轉換,將時間和價值轉換為一個字元串。
對於數據類型的確切值,轉換後的字元串是我們存儲的值。如:
聲明@iintset@i=123456789print'test:'+轉換(varchar(20),@i)
輸出是:test:123456789
對於具有近似值的數據類型,情況就不那麼簡單了。
聲明@ifloatset@i=123456789print'test:'+轉換(varchar(20),@i):test:1.23457e+008
3. sql server 數字轉為字元 int型的數字'5',轉為兩位的字元型'05',謝謝
select REPLICATE('0',2-len(cast(5 as varchar(2))))+cast(5 as varchar(2))
4. 有沒有函數在SQL查詢時將DB2資料庫中一個數字型的欄位轉換為字元串類型
可以用convert或cast。
select cast(123 as varchar)
select convert(varchar,123)
5. 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。
數據類型:
字元串數據類型是建模在形式字元串的想法上的數據類型。字元串是幾乎在所有編程語言中可以實現的非常重要和有用的數據類型。在某些語言中它們可作為基本類型獲得,在另一些語言中做為復合類型獲得。多數高級語言的語法允許通常用某種方式引用起來的字元串來表示字元串數據類型的實例;這種元字元串叫做「文本」或「字元串文本」。
以上內容參考:網路-字元串
6. sql如何把number轉化成string
可以通過調用number值的4個函數來將其轉換成string:
1.toString()。
2.toFixed()。
3.toExponential()。
4.toPrecision()。
比如:
var a = 42;
console.log(a.toString(2));//101010
console.log(a.toString());//42
console.log("0x" + a.toString(16));//0x2a
var b = 0xff;
console.log(b.toString());//255
7. sql 怎麼將數值型轉換成字元
方法1
select cast ( 123 as nvarchar(10) );
方法2
select convert( nvarchar(10), 123 );
8. mysql中int型的數字怎麼轉換成字元串
MySQL 數字類型轉換函數(concat/cast)。
1、將Int 轉為varchar經常用 concat函數,比如concat(8,』0′) 得到字元串 』80′。
2、將varchar 轉為Int 用 cast(a as signed) a為varchar類型的字元串。
總結:類型轉換和SQL Server一樣,就是類型參數有點點不同 : CAST(xxx AS 類型) , CONVERT(xxx,類型)。
(8)sql數字轉字元擴展閱讀:
可用的類型:
二進制,同帶binary前綴的效果 : BINARY
字元型,可帶參數 : CHAR()
日期 : DATE
時間: TIME
日期時間型 : DATETIME
浮點數 : DECIMAL
整數 : SIGNED
無符號整數 : UNSIGNED
cast函數運行示例
9. 在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)
10. sql語句怎樣把查詢出來的數字轉換陳字元
很簡單啊。
string Sqlstr = "0120";//假設這個是從資料庫取出的值
string[] arrs = new string[] { "零", "壹", "貳" ,"叄",'肆"};//這里是從1到9的大寫。。。你可以一直寫下去
char[] chars = Sqlstr.ToCharArray();//把從資料庫獲取的數字轉換成char類型
StringBuilder sb = new StringBuilder();
for (int index = 0; index < chars.Length; index++)
{
string newValue = arrs[int.Parse(chars[index].ToString())];//這一句是核心,我們每獲取一個數字,因為我們0是對應零的,1是對應壹的,2是對應貳的。。。所以,我就可以在arrs這個數據獲取到相應的值。就OK了
sb.Append(newValue);//沒獲取一個就放進sb裡面,最後輸出來了。
}