Ⅰ 在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。
Ⅱ SQL里最基本的問題。。。。
數殲殲肆據類型
int 跟c語言改衡一樣,代表整形的數據類型
char 代表字元數據氏轎類型
如果是int類型的欄位,你插入數據的時候是字元的話,會報錯,數據類型不匹配
Ⅲ 在sql語句中阿拉伯數字是字元型嗎
原則上來說:
如果用 單引號引起來的話,就是字元型。
如果不用單引號引起來的話,就是數字型。
在insert語句或者 賦值等語句中,可能會出現自動類型轉換的情況。
Ⅳ sql中如何將阿拉伯數字轉為漢字
Create Procere AtoC
@ChangeMoney Money
as
Set Nocount ON
Declare @String1 char(20)
Declare @String2 char(30)
Declare @String4 Varchar(100)
Declare @String3 Varchar(100) –從原A值中取出的值
Declare @i int –循環變數
Declare @J Int –A的值乘以100的字元串長度
Declare @Ch1 Varchar(100) –數字的漢語讀法
Declare @Ch2 Varchar(100) –數字位的漢字讀法
Declare @Zero Int –用來計算連續有幾個零
Declare @ReturnValue VarChar(100)
Select @ReturnValue = 」
Select @String1 = 『零壹貳叄肆伍陸柒捌玖』
Select @String2 = 『萬仟佰拾億仟佰拾萬仟佰拾元角分』
Select @String4 = Cast(@ChangeMoney*100 as int)
select @J=len(cast((@ChangeMoney*100) as int))
Select @String2=Right(@String2,@J)
Select @i = 1
while @i<= @j Begin
Select @String3 = Substring(@String4,@i,1)
if @String3<>『0′ Begin
Select @Ch1 = Substring(@String1, Cast(@String3 as Int) + 1, 1)
Select @Ch2 = Substring(@String2, @i, 1)
Select @Zero = 0 –表示本位不為零
end
else Begin
If (@Zero = 0) Or (@i = @J – 9) Or (@i = @J – 5) Or (@i = @J – 1)
Select @Ch1 = 『零』
Else
Select @Ch1 = 」
Select @Zero = @Zero + 1 –表示本位為0
–如果轉換的數值需要擴大,那麼需改動以下表達式 I 的值。
Select Ch2 = 」
If @i = @J – 10 Begin
Select @Ch2 = 『億』
Select @Zero = 0
end
If @i = @J – 6 Begin
Select @Ch2 = 『萬』
Select @Zero = 0
end
if @i = @J – 2 Begin
Select @Ch2 = 『元』
Select @Zero = 0
end
If @i = @J
Select @Ch2 = 『整』
end
Select @ReturnValue = @ReturnValue + @Ch1 + @Ch2
select @i = @i+1
end
–最後將多餘的零去掉
If CharIndex(『仟仟』,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, 『仟仟』, 『仟』)
If CharIndex(『佰佰』,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, 『佰佰』, 『佰』)
If CharIndex(『零元』,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, 『零元』, 『元』)
If CharIndex(『零萬』,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, 『零萬』, 『萬』)
If CharIndex(『零億』,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, 『零億』, 『億』)
If CharIndex(『零整』,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, 『零整』, 『整』)
If CharIndex(『零佰』,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, 『零佰』, 『零』)
If CharIndex(『零仟』,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, 『零仟』, 『零』)
If CharIndex(『元元』,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, 『元元』, 『元』)
Select @ReturnValue
GO
Ⅳ SQL語句查詢姓名包含阿拉伯數字、英文字母等不符合規范的文字怎麼寫
select * from pop where datediff(day,birth_date,getdate()) >= 7*365.25 and name in ('未取名'、%[0-9]%、%[a-z]%,%[A-Z]%) or len(name)<2 len(name)<2這里你要試驗一下,看看你使用的資料庫對2個漢字返回什麼值,有的是4,有的是2
Ⅵ SQL字元型與數值型有什麼區別啊
從字面意思你應該能夠理解得出來:
字元型:最簡單的意思是文本類型,可以是漢字、特殊字元、阿拉伯數據、標點符號等
數值型:最簡單的意思是數字,只能是整數(就像-1,-2,0,1,2等)
Ⅶ SQL中的符號^,!,$,#,&,各表示什麼意思
^(位異或)
對兩個整數值執行「位異或」運算。它會將第一個操作數的每一位與第二個操作數中對應的每一位進行比較。如果一位是 0,另一對應位是 1,則相應結果位設置為
1。如果兩位都是 0 或兩位都是 1,則相應結果位設置為 0。
兩個條件必須都為有符號的整數數據類型,或都為無符號的整數數據類型。
!(邏輯非)! 運算符不能與其他運算符一起使用。例如,不能將 ! 和 > 運算符組合為 !>. 運算符。
&(位與)
對兩個整數值執行「位與」運算。它會將第一個操作數的每一位與第二個操作數中對應的每一位進行比較。如果兩位都是 1,則相應的結果位設置為
1。否則,相應的結果位設置為 0。
兩個條件都必須是有符號整數類型,或者都必須是無符號整數類型。
$,# 這兩個沒有實際含義
Ⅷ sql語句中怎樣將字元類型轉換成數字類型
先檢查金額列的數據是否都符合小數規范,轉為數字格式只有是數字的字元串才能轉,如000012轉為12,.55轉為0.55,若是個英文符號等字元轉了就報無效數字類型的錯。
Ⅸ 把中文數字轉化成阿拉伯數字有什麼好的方法用sql 語句。
你說的中文數字應該是字元一、二、三……吧?這是字元判斷轉為數字,可以用DECODE和CASE WHEN 來解決。如:
select decode(table_column,'一',1,'二',2,'三',3,'四',4,'五',5,'六',6,'七',7,'八',8,'九',9,'零',0,'') from (select '六' as table_column from al) your_table;
select case when table_column = '一' then 1
when table_column = '二' then 2
when table_column = '三' then 3
when table_column = '四' then 4
when table_column = '五' then 5
when table_column = '六' then 6
when table_column = '七' then 7
when table_column = '八' then 8
when table_column = '九' then 9
when table_column = '零' then 0
else null end
from (select '六' as table_column from al) your_table;