sql數字中文
1. sql如何使所輸入的數據為純中文
(1):
你的系沒有屬於哪個學院嗎?
55編號應該也取自己你的學院信息表
這個東西放程序里調用存儲過程實現更好
非的用資料庫只能弄觸發器去做
這樣維護起來不好
(2:)
--只能輸入中文,注意欄位類型一定要是VARCHAR類型
CREATE TABLE TA
(
FName VARCHAR(20) CHECK( DATALENGTH(FName)<>LEN(FName))
)
--只能輸入18位數字 ,下面只能輸入3位數字或4位數字囧15位與18位自己加
CREATE TABLE TAA
(
FNum int CHECK( FNum LIKE '[0-9][0-9][0-9]' OR FNum LIKE '[0-9][0-9][0-9][0-9]')
)
希望對你有幫助
2. SQL問題,比如表中有個欄位 A,它的值一般都是 數字 跟 中文 兩種,如何查詢出值為 中文 的記錄
select*fromtablewhereISNUMERIC(column)=0--這個是查詢出非純數字的明細
如果需要找出純中文的,那麼需要用正則表達式
CREATEFunction[dbo].[RemoveNonNumericCharacters](@TempVarChar(1000))
ReturnsVarChar(1000)
AS
Begin
WhilePatIndex('%[^0-9]%',@Temp)>0
Set@Temp=Stuff(@Temp,PatIndex('%[^0-9]%',@Temp),1,'')
Return@TEmp
End
3. 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
4. 如何用SQL語句,在數字加中文的混合數據中提取出中文
是Oracle資料庫嗎?
可以用截取字元串的函數。
select
Substr(欄位,1,INSTR(欄位,'/')-1)
from
al
例如
select
Substr('sdhfuiasdh/asdfsadf',1,INST('sdhfuiasdh/asdfsadf','/')-1)
from
al