如何 select 在 mysql 中定义的位置之间插入字符
how to select with character inserted between defined places in mysql
Id | news_photoId_head
-----------------------------
1 | apple.jpg
2 | banana.png
3 | getmesones.hel.apn.jpg
------------------------------
apple_T.jpg
banana_T.png
getmesones.hel.apn_T.jpg
我想获得缩略图和大小的这种格式
我有很长的查询要做到这一点..请告诉我一个简单的方法
select
concat(substring(news_photoId_head,1,char_length(news_photoId_head)-4),
concat('_T',substring(news_photoId_head,-4))) as thumb from news;
获取像jpg
这样的图像格式,尝试以下查询:
SELECT SUBSTRING_INDEX(SUBSTRING(news_photoId_head, -4),'.',-1) FROM users WHERE 1
这种事情在 MySQL 中很难做到。
你可以试试这个:
LEFT(colname, CHAR_LENGTH(colname)-4)
获取不带 .jpg
或 .png
的文件名。
RIGHT(colname, 4)
让你得到 .jpg
或 .png
。
所以,
CONCAT(LEFT(colname, CHAR_LENGTH(colname)-4), '_T' ,RIGHT(colname, 4))
产生你想要的结果。您的表达式的附加值是使用 RIGHT()
和使用三个而不是两个参数到 CONCAT()
.
当然,如果两年后某些傻子将一个名为 confusion.jpeg
的文件放入您的 table 中,这一切都会崩溃。
Id | news_photoId_head
-----------------------------
1 | apple.jpg
2 | banana.png
3 | getmesones.hel.apn.jpg
------------------------------
apple_T.jpg
banana_T.png
getmesones.hel.apn_T.jpg
我想获得缩略图和大小的这种格式
我有很长的查询要做到这一点..请告诉我一个简单的方法
select
concat(substring(news_photoId_head,1,char_length(news_photoId_head)-4),
concat('_T',substring(news_photoId_head,-4))) as thumb from news;
获取像jpg
这样的图像格式,尝试以下查询:
SELECT SUBSTRING_INDEX(SUBSTRING(news_photoId_head, -4),'.',-1) FROM users WHERE 1
这种事情在 MySQL 中很难做到。
你可以试试这个:
LEFT(colname, CHAR_LENGTH(colname)-4)
获取不带 .jpg
或 .png
的文件名。
RIGHT(colname, 4)
让你得到 .jpg
或 .png
。
所以,
CONCAT(LEFT(colname, CHAR_LENGTH(colname)-4), '_T' ,RIGHT(colname, 4))
产生你想要的结果。您的表达式的附加值是使用 RIGHT()
和使用三个而不是两个参数到 CONCAT()
.
当然,如果两年后某些傻子将一个名为 confusion.jpeg
的文件放入您的 table 中,这一切都会崩溃。