社区
疑难问题
帖子详情
如何将字段中存储的字符串执行?
zhjzh_zjz
2006-05-08 11:41:43
比如有一字段birthday中存储有字符串 getdate()
如何在 select birthday from person 中得到getdate() 的执行结果,就是当前日期,而不是getdate() 这个字符串?如果是别的函数或者语句存储在字段中再取出的时候如何让它执行呢?请大虾指教!
...全文
157
11
打赏
收藏
如何将字段中存储的字符串执行?
比如有一字段birthday中存储有字符串 getdate() 如何在 select birthday from person 中得到getdate() 的执行结果,就是当前日期,而不是getdate() 这个字符串?如果是别的函数或者语句存储在字段中再取出的时候如何让它执行呢?请大虾指教!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhjzh_zjz
2006-05-23
打赏
举报
回复
那位高手有比较通用一点的解决办法,感激不尽!
brio8425
2006-05-09
打赏
举报
回复
有加了点见识。。呵呵。。谢谢搂住。。
子陌红尘
2006-05-08
打赏
举报
回复
SQL Server没有这样的内置函数,用户定义函数对执行execute有严格的限制,只允许执行扩展存储过程时调用。
zhjzh_zjz
2006-05-08
打赏
举报
回复
那我test表中存储的是
1 a getdate()
2 b userid()
3 c newid()
...
我想得到的结果是:
1 a 2006-05-08(当前日期)
2 b testid(当前用户)
3 c 10 (新ID)
....
有什么好的办法呢?exec只能单独执行阿,这样的情况不知道如何是好
OracleRoob
2006-05-08
打赏
举报
回复
exec('select getdate()')
动态sql语句基本语法
1 :普通SQL语句可以用Exec执行
eg: Select * from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
eg:
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
Exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格
当然将字符串改成变量的形式也可
declare @fname varchar(20)
set @fname = 'FiledName' --设置字段名
declare @s varchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句会报错
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句正确
3. 输出参数
declare @num int,
@sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?
declare @num int, @sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num
子陌红尘
2006-05-08
打赏
举报
回复
exec('select getdate()')
zhjzh_zjz
2006-05-08
打赏
举报
回复
又没有别的办法啊?因为我做的是一个通用的东西,要转换的字符串不是可列举的,用case行不通,是否能直接把中间的字符串执行的结果呢?不知道是否有这样的函数,就像javascript中的Eval函数可以直接执行字符串得结果的。exec在语句中不能执行阿,不知道还有什么好的办法。谢谢
powerking2
2006-05-08
打赏
举报
回复
用 EXEC 函数可以执行 字符串SQL 这就是动态SQL的内容
pengdali
2006-05-08
打赏
举报
回复
exec('getdate()')
可以执行字符串
子陌红尘
2006-05-08
打赏
举报
回复
select
case birthday
when 'getdate()' then convert(char(10),getdate(),120)
else birthday
end as birthday
from
person
冷箫轻笛
2006-05-08
打赏
举报
回复
declare @sql varchar(200)
set @sql= 'getdate()'
exec ('select ' + @sql)
SQL语句集锦
8. **分割
字符串
.txt**:在SQL Server
中
,可以使用STRING_SPLIT函数将一个
字符串
分割成多个部分,这对于处理分隔符分隔的数据非常有用。 9. **遍历数据库.txt**:可能涉及到数据库级别的操作,如遍历所有表、视图或...
Oracle
中
将Clob
字段
转换成
字符串
1.利用dbms_lob.substr()方法可将对应
字段
转换成
字符串
如下: select dbms_lob.substr(content) from NEWS 2.Java
中
转换,对
字段
大小没限制
【超赞】ArcGIS
字段
计算器分割
字段
中
的
字符串
【超赞】ArcGIS
字段
计算器分割
字段
中
的
字符串
最近在整理植物数据,数据本来是以excel进行
存储
,但是其
中
涉及到要对
字段
进行分割,由于对excel的相关函数不熟悉于是想着能不能用arcgis的
字段
计算器进行解决,经过...
MySQL更新某个
字段
拼接固定
字符串
有时,我们需要将某个
字段
的值与固定
字符串
拼接在一起,以获取新的
字段
值。现在,我们需要在员工姓名后面添加固定的称号"先生"或"女士",具体根据员工的性别来确定。首先,我们需要查看
字段
的当前值,以便确定要拼接...
mysql替换某个
字段
的某个
字符串
MySQL 替换 或者 删除
字段
的一部分
字符串
更新
字段
用 updatenewssetContent=null where条件--可选 就是用更新语句,只不过具体的值,需要你另外计算得到,你只说730长度,但具体的你并没有描述 mysql正则替换某个...
疑难问题
22,300
社区成员
121,734
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章