【发布时间】:2018-03-27 11:15:16
【问题描述】:
有一个名为 value 的 nvarchar(100) 列,当用户插入此列时,我需要在触发器中检查以下代码:
if exists
(
select *
from inserted i
where isnumeric(value)=0
)
begin
rollback transaction
raiserror('when productType is numeric, You have to insert numeric character',18,1)
return
end
但在应用程序接口编号中插入波斯语,所以总是isnumeric(value)=0。
例如,如果用户在界面中插入۴۵,我需要在我的触发器值中显示为45。
到目前为止,我使用了CAST、CONVERT 和collate Persian_100_CI_AI,但没有得到任何结果。
谢谢。
【问题讨论】:
-
波斯数字只是 SQL Server 的文本。转换数字客户端或查找 SQL Server 扩展(如 UDF 或 CLR UDF)。看到这个question about Persian dates。
标签: sql sql-server data-conversion