新项目使用regexp_replace,因此我将mysql安装更新到8.0.3。但仍然感觉什么都没有改变=)
琐碎的查询:
$ echo "select regexp_replace('a','.','z')" | mysql mysql
ERROR 1305 (42000) at line 1: FUNCTION mysql.regexp_replace does not exist
版本:
$ # mysqld --version
/usr/sbin/mysqld Ver 8.0.3-rc-log for Linux on
如何在.内使用Mysql变量。Mysql regex?
例如,
SET @my_var = (
SELECT
year
FROM blah
LIMIT 1);
SELECT
foo,
bar
FROM my_table
WHERE date REGEXP @my_var%
也试过..。WHERE date REGEXP '@my_var%'
我想做的是..。WHERE date REGEXP '2015%'
我有一个与REGEXP匹配的mysql查询,它将字段的开头与'A‘、'An’和' the‘匹配,如果匹配,则从第一个空格开始修剪字段,然后我将字段的开头与特殊字符匹配,例如(',: space :),如果是,那么修剪所有的主要特殊字符。Mysql查询的CASE如下所示:
CASE
WHEN field_data_field_display_title_field_display_title_value REGEXP '(^(A|An|The)[[:space:]])' = 1 THEN
TRIM(SUBSTR(field_data_fie
我有一个简单的任务,在那里,我需要搜索一个记录,以字符串字符开始,然后再搜索一个数字。我想要的是
SELECT trecord FROM `tbl` WHERE (trecord LIKE 'ALA[d]%')
和
SELECT trecord FROM `tbl` WHERE (trecord LIKE 'ALA[0-9]%')
但是这两个查询都总是返回一个null记录。
trecord
-------
null
如果我执行以下查询
SELECT trecord FROM `tbl` WHERE (trecord LIKE 'ALA%')
它回
你能把这段Rails代码翻译成MySQL吗:
def Customer.find_by_key(key)
Customer.find(:all, :conditions => "pre_name REGEXP '.*#{key}.*'
OR sur_name REGEXP '.*#{key}.*'
OR street REGEXP '.*#{key}.*'
OR zip REGEXP '.*#{key}.*'
OR city REGEXP '.*#{
是否可以选择以下代码中的$user_input来使MySQL查询的行为不像预期的那样?
<?
$regexp = mysql_real_escape_string( $user_input );
mysql_query( "SELECT col FROM table WHERE col REGEXP \"$regexp\"" );
?>
我不能使用预准备语句,因为SQL字符串需要传递一点。
编辑:我要补充的是,我已经意识到了正则表达式DoS攻击。
我有那些mysql用户
1 master
2 mastercard
3 mastercom
在下一个字符串中,我希望将它们链接到他自己的配置文件用户(@user)
$string=" Hi, I would like to met up with @master @mastercard @mastercom and @masterhigh ";
它不属于mysql表,不需要链接到他的配置文件。
我有这个密码
preg_match_all('/@(\w+)/',$string,$matches);
foreach ($matches[1] as $match)
我的数据是这样的
server version
Server 1 5.1.42
Server 2 MySQL 5.7.16
Server 3 mysql-5.0.67-linux
Server 4 MARIADB - 10.2.9-MariaDB-log
Server 5 5.6.12-community-log
Server 6 mysql-advanced-5.6.12
Server 7 PERCONA - 5.7.19-17-log
我想要的输出将是
Server 1 5.1
Server 2 5.7
Server 3
我有一个名为"MYprojects“的表和一个名为”.Now“的列,我有下面一行
id =>1
rights => 7,4,34,532,12,32
现在,如果number-in权限列中的任何值出现在下列值中,我需要删除该行
2,4,65,34
如您所见,列中的值为4,因此我需要删除该行。有没有人能告诉我mysql的查询或函数?它可以通过应用循环的服务器端脚本来完成,但我需要一个优化的解决方案,谢谢
当将字符串转换为整数值时,MySQL中的cast和convert函数都会抛出“截断不正确的整数值”:
select cast(mycolumn as unsigned) from mytable;
我希望获得PHP和大多数其他编程语言的行为,这意味着我希望将所有非数字字符串转换为零。
在MySQL中执行此操作的最有效方法是什么?
以下是问题场景。我有一个文本框,用户可以在其中输入评论。但是,如果它们包含HTML标记或<A HREF='javascript:window.alert("Example of a link that displays an alert box");'> link </A>,并且当注释从MySQL数据库输出到页面时,它们实际上会执行。我正在寻找一种方法来防止这种情况发生,只允许使用几个HTML标签(如粗体,斜体,下划线)。
在将文本区域中的评论发送到mysql数据库之前,我对我的评论使用此函数:
function sanitize($da
对于postgresql,mysql的PATINDEX有什么熟悉的功能吗?我试图在postgres中创建这样的sql。
SELECT PATINDEX('%schools%', 'W3Schools.com');
它抛出一个错误:
没有任何函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
更详细的是,我试图在Postgresql中分离字符串的数字部分和字符串部分。我找到了这样的例子:
SELECT Section
FROM dbo.Section
ORDER BY LEFT(Section, PATINDEX('%[0-9]%'
我正在处理一个名为exp1的表,在这个表中有一个名为filename的列,其中包含exp_ara1.txt、exp_gma1.txt、exp_sly1.txt.、exp_rcy1.txt、exp_thy1.txt等数据。
通过使用MySQL查询,我希望只选择那些文件名为%ara%或%gma%的行。我使用以下命令:
Select * from exp1 where filename LIKE ('%ara%' OR '%gm%');
但这是SQL查询成功执行的结果。MySQL返回一个空结果集(即零行)。