在sql语句中,出现将字符串转换为 uniqueidentifier 时失败的错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在sql语句中,出现将字符串转换为 uniqueidentifier 时失败的错误相关的知识,希望对你有一定的参考价值。
sql语句是这样的:select * from dbo.Sys_UserInfo
where ID in (
select strOne from V_LeaderVoteInfo where lviTitle='测试数据'
)
ID是uniqueidentifier类型的,strOne在数据库中定义的是varchar,但保存的数据是'28a0cd1a-8641-4cf3-8223-a28a00ec652f','28a0cd1a-8641-4cf3-8223-a28a00ec652f'这样的,是ID拼接的字符串,但现在我要实现这条查询,怎么办呢??
在sql语句中,出现将字符串转换为 uniqueidentifier 时失败的错误是因为转换时写错造成的。
解决方法和详细的操作步骤如下:
1、首先,在“文件”中找到“新建”选项,点击其中的“项目”,如下图所示。
2、其次,选择“控制台应用程序”,然后名称栏中写“Cast和字符串类型转换”并确定,如下图所示。
3、接着,Cast类型转换代码,如下图所示。
4、然后,测试Cast类型转换结果,如下图所示。
5、随后,字符串类型转换代码,如下图所示。
6、最后,测试字符串类型转换的结果,如下图所示。这样,问题便解决了。
参考技术A在sql语句中,出现将字符串转换为 uniqueidentifier 时失败的错误是因为转换时写错造成的,解决方法为:
1、文件--》新建--》项目。
2、选择:控制台应用程序--》命名:Cast和字符串类型转换--》确定。
3、Cast类型转换代码。
4、测试Cast类型转换结果。
5、字符串类型转换代码。
6、测试字符串类型转换结果。
参考技术B SELECT * from dbo.Sys_UserInfowhere ID in (
select CAST(strOne AS UNIQUEIDENTIFIER) AS strOne from V_LeaderVoteInfo where lviTitle='测试数据'
) 参考技术C '28a0cd1a-8641-4cf3-8223-a28a00ec652f'应该是MD5码,你可以用hashbytes()函数试试,MD5加密是不能解密的,所以你要先了解加密规则是怎么样 参考技术D Select * From Sys_UserInfo
Where Exists
(
Select strOne From V_LeaderVoteInfo Where charindex( Convert(Varchar(100),id) ,strOne)>0
And lviTitle='测试数据'
)追问
虽然没有错误,但没有查询出数据啊
追答--你最好截个图,看看ID,strOne长什么样
select ID from dbo.Sys_UserInfo
select strOne from V_LeaderVoteInfo where lviTitle='测试数据'
PLSQL中SQL语句怎样转换日期型函数为字符型?
目前需求:需要selcet where ENDDATE<'2014/01/01'
其中:ENDDATE是一个日期的字段名,而后面的2014/01/01是我要转换的日期,目前查到在数据中ENDDATE的属性如图所示:
在数据库中查的ENDDATE的显示数据如图所示:
紧急求助,谢!!
需要知道使用什么函数,可以将后面的20140101转换,或者将掐面的日期转换成字符串的形式都可以吧?试过很多函数,都不能用。
在查询中, 将'2014/01/01'转换成日期值,然后再用作查询条件,这样会比较好。
select ... where enddate < to_date('2014/01/01', 'yyyy/mm/dd') 参考技术A select * from table t where to_char(t.ENDDATE,'yyyy/mm/dd')<'2014/01/01
其中,to_char是将日期转化成字符串的函数;yyyy/mm/dd是指定的日期格式。 参考技术B where to_char(ENDDATE,'yyyy/mm/dd')<'2014/01/01'
这样试试
参考技术C to_char(ENDDATE,'yyyy/mm/dd')以上是关于在sql语句中,出现将字符串转换为 uniqueidentifier 时失败的错误的主要内容,如果未能解决你的问题,请参考以下文章
mysql里面如何用sql语句让字符串的‘123’转换为数字的123?